public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH v4 10/22] LoongArch: Add tests for ASX vector xvssran/xvssrani/xvssrarn/xvssrarni/xvssrln/ xvssrlni/xvssrlrn/xvssrlrni instructions.
@ 2023-09-13  3:40 Xiaolong Chen
  2023-09-13  3:40 ` [PATCH v4 11/22] LoongArch: Add tests for ASX vector xvbitclr/xvbitclri/xvbitrev/xvbitrevi/ xvbitsel/xvbitseli/xvbitset/xvbitseti/xvclo/xvclz/xvpcnt instructions Xiaolong Chen
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Xiaolong Chen @ 2023-09-13  3:40 UTC (permalink / raw)
  To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen

gcc/testsuite/ChangeLog:

	* gcc.target/loongarch/vector/lasx/lasx-xvssran.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvssrani.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvssrarn.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvssrarni.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvssrln.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvssrlni.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvssrlrn.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvssrlrni.c: New test.
---
 .../loongarch/vector/lasx/lasx-xvssran.c      |  905 ++++++++++++
 .../loongarch/vector/lasx/lasx-xvssrani.c     | 1235 +++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvssrarn.c     |  905 ++++++++++++
 .../loongarch/vector/lasx/lasx-xvssrarni.c    | 1160 ++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvssrln.c      |  965 +++++++++++++
 .../loongarch/vector/lasx/lasx-xvssrlni.c     | 1130 +++++++++++++++
 .../loongarch/vector/lasx/lasx-xvssrlrn.c     |  815 +++++++++++
 .../loongarch/vector/lasx/lasx-xvssrlrni.c    | 1160 ++++++++++++++++
 8 files changed, 8275 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssran.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrani.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrarn.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrarni.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrln.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlni.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlrn.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlrni.c

diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssran.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssran.c
new file mode 100644
index 00000000000..fdb0c25f136
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssran.c
@@ -0,0 +1,905 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00007ffe81fdfe03;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7ffe800000000000;
+  __m256i_out = __lasx_xvssran_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssran_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssran_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssran_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffefffffffef;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffef000004ea;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffefffffffef;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffefffffffef;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssran_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x1717171717171717;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000607f700000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x1717171717171717;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000607f700000001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffe81;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007fffffff;
+  __m256i_out = __lasx_xvssran_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00f9f90079f9f9f9;
+  *((unsigned long *)&__m256i_op1[2]) = 0x79f9f9f900000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00f9f90079f9f9f9;
+  *((unsigned long *)&__m256i_op1[0]) = 0x79f9f9f900000000;
+  *((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_xvssran_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000007f7f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000007f7f7f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000007f7f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000007f007f78;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000033007e;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000021;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00007f7f00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00007f7f00007fff;
+  __m256i_out = __lasx_xvssran_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfff0000000000080;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfff0000000000080;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000080000080;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000080000080;
+  __m256i_out = __lasx_xvssran_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000ff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000ff00000000;
+  __m256i_out = __lasx_xvssran_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000007fff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000007fff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000007fff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000007fff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000002aaad555;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000002aaad555;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00007fff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00007fff00000000;
+  __m256i_out = __lasx_xvssran_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffc0ffc0ffc0ffc0;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffc00000ffc0ffc0;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffc0ffc0ffc0ffc0;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffc00000ffc0ffc0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x108659e46485f7e1;
+  *((unsigned long *)&__m256i_op1[2]) = 0x4df5b1a3ed5e02c1;
+  *((unsigned long *)&__m256i_op1[1]) = 0x108659e46485f7e1;
+  *((unsigned long *)&__m256i_op1[0]) = 0x4df5b1a3ed5e02c1;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffcfee0fe00ffe0;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffcfee0fe00ffe0;
+  __m256i_out = __lasx_xvssran_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000001fff9fff8;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000001fff9fff8;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000001fff9fff8;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000001fff9fff8;
+  *((unsigned long *)&__m256i_op1[3]) = 0xe1616161e1614e60;
+  *((unsigned long *)&__m256i_op1[2]) = 0xe1616161e1614e60;
+  *((unsigned long *)&__m256i_op1[1]) = 0xe1616161e1614e60;
+  *((unsigned long *)&__m256i_op1[0]) = 0xe1616161e1614e60;
+  *((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_xvssran_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffff900000003;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffff900000003;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffff0000;
+  __m256i_out = __lasx_xvssran_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000100000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000100000;
+  *((unsigned long *)&__m256i_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]) = 0x0000ffff00000000;
+  __m256i_out = __lasx_xvssran_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssran_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xff2400000000ff00;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffeffe4fffeff00;
+  *((unsigned long *)&__m256i_op1[1]) = 0xff6400000000ff00;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffeff66fffeff00;
+  *((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_xvssran_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffefffe00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffefffefffefffd;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000100da000100fd;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0001ffe20001fefd;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0001009a000100fd;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0001ff640001fefd;
+  *((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_xvssran_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000fe0100000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000fe0100000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssran_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssran_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00c200c200c200c2;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00c200c200c200bb;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00c200c200c200c2;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00c200c200c200bb;
+  *((unsigned long *)&__m256i_op1[3]) = 0xc2c2c2c2c2c2c2c2;
+  *((unsigned long *)&__m256i_op1[2]) = 0xc2c2c2c2c2c2c2c2;
+  *((unsigned long *)&__m256i_op1[1]) = 0xc2c2c2c2c2c2c2c2;
+  *((unsigned long *)&__m256i_op1[0]) = 0xc2c2c2c2c2c2c2c2;
+  *((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_xvssran_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssran_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssran_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010100;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010100;
+  *((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_xvssran_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xdbcbdbcbecececec;
+  *((unsigned long *)&__m256i_op1[2]) = 0xdbcbdbcb0000dbcb;
+  *((unsigned long *)&__m256i_op1[1]) = 0xdbcbdbcbecececec;
+  *((unsigned long *)&__m256i_op1[0]) = 0xdbcbdbcb0000dbcb;
+  *((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_xvssran_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000226200005111;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000016000000480d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000226200005111;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000016000000480d;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[2]) = 0xd0d8eecf383fdf0d;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[0]) = 0xd0d8eecf383fdf0d;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x1131288800000002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x1131288800000002;
+  __m256i_out = __lasx_xvssran_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0101010200000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0101010200000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0a0a0a0a7f0a0a0a;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0a0a0a0a7f0a0a0a;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0a0a0a0a7f0a0a0a;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0a0a0a0a7f0a0a0a;
+  *((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_xvssran_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssran_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssran_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssran_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffff040000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffff040000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffff0000ffff0000;
+  *((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_xvssran_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x007f8080007f007f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x007f8080007f007f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x007f8080007f007f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x007f8080007f007f;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffff00000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffff00000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00007f3f7f007f1f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00007f3f7f007f1f;
+  __m256i_out = __lasx_xvssran_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x007f8080007f007f;
+  *((unsigned long *)&__m256i_op1[2]) = 0x007f8080007f007f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x007f8080007f007f;
+  *((unsigned long *)&__m256i_op1[0]) = 0x007f8080007f007f;
+  *((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_xvssran_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssran_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssran_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_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_xvssran_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssran_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssran_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000ff;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000ff00000000;
+  __m256i_out = __lasx_xvssran_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000077fff;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000007ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssran_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8d8d72728d8d7272;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8d8d72728d8d8d8d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8d8d72728d8d7272;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8d8d72728d8d8d8d;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
+  __m256i_out = __lasx_xvssran_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
+  *((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_xvssran_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000200000008;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000200000008;
+  *((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_xvssran_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000001010800;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000001010800;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000fffff800;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000fffff800;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000001010800;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000001010800;
+  __m256i_out = __lasx_xvssran_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0ff0000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0ff0000000000000;
+  *((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_xvssran_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000080;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000430207f944;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000430207f944;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff0008;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffff0008;
+  __m256i_out = __lasx_xvssran_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssran_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfdfdfdfdfdfdfdfd;
+  *((unsigned long *)&__m256i_op0[2]) = 0xe27fe2821d226278;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfdfdfdfdfdfdfdfd;
+  *((unsigned long *)&__m256i_op0[0]) = 0xe27fe2821d226278;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_xvssran_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0202010202020102;
+  *((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_xvssran_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000000e;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000000e;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000000d;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000000d;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000010001;
+  __m256i_out = __lasx_xvssran_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000400080ffc080;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000080ff0080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000400080ffc080;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000000080ff0080;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000200000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000004000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000200000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000004000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00ff000000000080;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00ff000000000080;
+  __m256i_out = __lasx_xvssran_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000007f807f80;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000007f807f80;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000007f7f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000007f7f;
+  __m256i_out = __lasx_xvssran_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssran_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000000000001fff0;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000feff0001ffb8;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000000001fff0;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000feff0001ffb8;
+  *((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_xvssran_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffff1cff1c;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff1cff18;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffff1cff1c;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff1cff18;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((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_xvssran_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000600000006;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000070002000a;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000600000006;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000070002000a;
+  *((unsigned long *)&__m256i_op1[3]) = 0x001fffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x001fffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssran_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_op1[3]) = 0xbf3ffffffffeffed;
+  *((unsigned long *)&__m256i_op1[2]) = 0xbf3ffffffffeffed;
+  *((unsigned long *)&__m256i_op1[1]) = 0xbf3ffffffffeffed;
+  *((unsigned long *)&__m256i_op1[0]) = 0xbf3ffffffffeffed;
+  *((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_xvssran_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xe013fcf2e015fc38;
+  *((unsigned long *)&__m256i_op0[2]) = 0xe013fd00dff78420;
+  *((unsigned long *)&__m256i_op0[1]) = 0xe013fcf2e015fc38;
+  *((unsigned long *)&__m256i_op0[0]) = 0xe013fd00dff78420;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0005000500050005;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0005000500050005;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfefefefefefefefe;
+  *((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_xvssran_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fff80007fff0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fff80007fff0000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x8282828282828282;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8768876887688769;
+  *((unsigned long *)&__m256i_op1[1]) = 0x8282828282828282;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8768876887688769;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000003fffc0;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000003fffc0;
+  __m256i_out = __lasx_xvssran_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrani.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrani.c
new file mode 100644
index 00000000000..dd3c2c6f653
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrani.c
@@ -0,0 +1,1235 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 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]) = 0x7f057f0b7f5b007f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000007f007f5;
+  __m256i_out = __lasx_xvssrani_hu_w (__m256i_op0, __m256i_op1, 0x14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000001fc000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000c475ceb40000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000fb0819280000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x074132a240000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000003a0200;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000000c9;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrani_hu_w (__m256i_op0, __m256i_op1, 0x15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrani_hu_w (__m256i_op0, __m256i_op1, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00007fff7fffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00007fff7fffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrani_d_q (__m256i_op0, __m256i_op1, 0x37);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_xvssrani_b_h (__m256i_op0, __m256i_op1, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffff8001;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffff8001;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffff0ffff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffff0ffff0000;
+  __m256i_out = __lasx_xvssrani_b_h (__m256i_op0, __m256i_op1, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000080008000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000080008000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007fff7fff;
+  __m256i_out = __lasx_xvssrani_h_w (__m256i_op0, __m256i_op1, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000001ffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000001ffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000001ffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000001ffffff;
+  __m256i_out = __lasx_xvssrani_b_h (__m256i_op0, __m256i_op1, 0xe);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrani_b_h (__m256i_op0, __m256i_op1, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrani_du_q (__m256i_op0, __m256i_op1, 0x73);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrani_h_w (__m256i_op0, __m256i_op1, 0x1d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrani_b_h (__m256i_op0, __m256i_op1, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0100010001000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0100010001000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0004000400040004;
+  __m256i_out = __lasx_xvssrani_h_w (__m256i_op0, __m256i_op1, 0x16);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfff0000000000080;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfff0000000000080;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssrani_wu_d (__m256i_op0, __m256i_op1, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7f80780000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000004000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7f80780000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000004000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000f0000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000f0000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x1fe01e0000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x1fe01e0000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrani_w_d (__m256i_op0, __m256i_op1, 0x22);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrani_du_q (__m256i_op0, __m256i_op1, 0x6b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0xce7ffffffffffffe;
+  *((unsigned long *)&__m256i_op1[2]) = 0x6300000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xce7ffffffffffffe;
+  *((unsigned long *)&__m256i_op1[0]) = 0x6300000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff39ffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff39ffffff;
+  __m256i_out = __lasx_xvssrani_d_q (__m256i_op0, __m256i_op1, 0x5e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000001;
+  *((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_xvssrani_w_d (__m256i_op0, __m256i_op1, 0x3b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffc0000fffc0000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffc0000fffc0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffc0000fffc0000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffc0000fffc0000;
+  *((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_xvssrani_bu_h (__m256i_op0, __m256i_op1, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfff9fff9fff9fff9;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfff90000fff9fff9;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfff9fff9fff9fff9;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfff90000fff9fff9;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+  *((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_xvssrani_bu_h (__m256i_op0, __m256i_op1, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x01fe8001b72e0001;
+  *((unsigned long *)&__m256i_op0[2]) = 0xb72e8001b72eaf12;
+  *((unsigned long *)&__m256i_op0[1]) = 0x01fe000247639d9c;
+  *((unsigned long *)&__m256i_op0[0]) = 0xb5308001b72eaf12;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrani_d_q (__m256i_op0, __m256i_op1, 0x26);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000154dc84;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000089;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000010000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000c40086;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000010000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000c40086;
+  *((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_xvssrani_w_d (__m256i_op0, __m256i_op1, 0x19);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000002a54290;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000002a54290;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000ff0000;
+  *((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_xvssrani_w_d (__m256i_op0, __m256i_op1, 0x3f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fff7fff05407fff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fff7fff05407fff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000007fff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000007fff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff00001fff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00001fff;
+  __m256i_out = __lasx_xvssrani_hu_w (__m256i_op0, __m256i_op1, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x38f7414938f7882f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x38f7414938f78830;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000801380f380fe;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000801380f300fb;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000008;
+  __m256i_out = __lasx_xvssrani_du_q (__m256i_op0, __m256i_op1, 0x2c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0303030303020000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0303030303020000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrani_h_w (__m256i_op0, __m256i_op1, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+  *((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_xvssrani_wu_d (__m256i_op0, __m256i_op1, 0x31);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000007;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000007;
+  __m256i_out = __lasx_xvssrani_du_q (__m256i_op0, __m256i_op1, 0x4d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+  *((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_xvssrani_du_q (__m256i_op0, __m256i_op1, 0x59);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrani_bu_h (__m256i_op0, __m256i_op1, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrani_h_w (__m256i_op0, __m256i_op1, 0x13);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0002000200020002;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvssrani_wu_d (__m256i_op0, __m256i_op1, 0xa);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xd04752cdd5543b56;
+  *((unsigned long *)&__m256i_op0[2]) = 0x6906e68064f3d78b;
+  *((unsigned long *)&__m256i_op0[1]) = 0xd04752cdd5543b56;
+  *((unsigned long *)&__m256i_op0[0]) = 0x6906e68064f3d78b;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000ff1100;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000004560420;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000ff1100;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000004560420;
+  *((unsigned long *)&__m256i_result[3]) = 0x00ff00ffff00ff00;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000fff00004542;
+  *((unsigned long *)&__m256i_result[1]) = 0x00ff00ffff00ff00;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000fff00004542;
+  __m256i_out = __lasx_xvssrani_bu_h (__m256i_op0, __m256i_op1, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xdf00000052a00000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x5b7f00ff5b7f00ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xdf00000052a00000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x5b7f00ff5b7f00ff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00c0000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0040000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000c0000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000040000000;
+  __m256i_out = __lasx_xvssrani_hu_w (__m256i_op0, __m256i_op1, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000fffffe02;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000300000005fe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffff02;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000300000005fe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000ff00ff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0007fd00000f02ff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000001fffeff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff00fe00feff02ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000ffffffff00;
+  __m256i_out = __lasx_xvssrani_b_h (__m256i_op0, __m256i_op1, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000007f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000002000000018;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000002000000019;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000200000001e;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000002000000019;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0004000000030000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000400000003c000;
+  __m256i_out = __lasx_xvssrani_d_q (__m256i_op0, __m256i_op1, 0x33);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x009c3e201e39e7e3;
+  *((unsigned long *)&__m256i_op0[2]) = 0x87c1135043408bba;
+  *((unsigned long *)&__m256i_op0[1]) = 0x009c3e201e39e7e3;
+  *((unsigned long *)&__m256i_op0[0]) = 0x87c1135043408bba;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrani_wu_d (__m256i_op0, __m256i_op1, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0001b0b1b4b5dd9f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7f7f7f5c8f374980;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001b0b1b4b5dd9f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7f7f7f5c8f374980;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[2]) = 0xd0d8eecf383fdf0d;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[0]) = 0xd0d8eecf383fdf0d;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000100007f7f;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000100007f7f;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000100000000;
+  __m256i_out = __lasx_xvssrani_wu_d (__m256i_op0, __m256i_op1, 0x30);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrani_wu_d (__m256i_op0, __m256i_op1, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrani_w_d (__m256i_op0, __m256i_op1, 0x39);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssrani_hu_w (__m256i_op0, __m256i_op1, 0x1b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x007c7fff00007fff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00817fff00810000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x007c7fff00007fff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00817fff00810000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrani_du_q (__m256i_op0, __m256i_op1, 0x7c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000ff;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrani_bu_h (__m256i_op0, __m256i_op1, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrani_w_d (__m256i_op0, __m256i_op1, 0x1f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000457d;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000b03f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000457d;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000b03f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrani_wu_d (__m256i_op0, __m256i_op1, 0x3b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrani_h_w (__m256i_op0, __m256i_op1, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000004;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000004;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000004;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000004;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x2000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x2000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrani_d_q (__m256i_op0, __m256i_op1, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7f8000007f800000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7f8000007f800000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7f8000007f800000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7f8000007f800000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0f000f000f000f00;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0f000f000f000f00;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrani_bu_h (__m256i_op0, __m256i_op1, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrani_hu_w (__m256i_op0, __m256i_op1, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x01ff0020ff1f001f;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fe1ffe0ffe1ffe0;
+  *((unsigned long *)&__m256i_op1[1]) = 0x01ff0020ff1f001f;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fe1ffe0ffe1ffe0;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x007fc0083fc7c007;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x007fc0083fc7c007;
+  __m256i_out = __lasx_xvssrani_d_q (__m256i_op0, __m256i_op1, 0x42);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00067fff00047fff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00027fff000080fe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00067fff00047fff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00027fff000080fe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x067f047f027f0080;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x067f047f027f0080;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrani_h_w (__m256i_op0, __m256i_op1, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrani_h_w (__m256i_op0, __m256i_op1, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000007f007f007f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000007f007f007f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0af57272788754ab;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000005e80;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0af57272788754ab;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000005e80;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000000f0f0f;
+  *((unsigned long *)&__m256i_result[2]) = 0x7f7f7f7f0000007f;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000f0f0f;
+  *((unsigned long *)&__m256i_result[0]) = 0x7f7f7f7f0000007f;
+  __m256i_out = __lasx_xvssrani_b_h (__m256i_op0, __m256i_op1, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrani_w_d (__m256i_op0, __m256i_op1, 0x32);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0100010001000100;
+  *((unsigned long *)&__m256i_op0[2]) = 0x01ffff4300ffff00;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0100010001000100;
+  *((unsigned long *)&__m256i_op0[0]) = 0x01ffff4300ffff00;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000040004000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000004000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000040004000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000004000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001000100000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001000100000000;
+  __m256i_out = __lasx_xvssrani_d_q (__m256i_op0, __m256i_op1, 0x2e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrani_hu_w (__m256i_op0, __m256i_op1, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrani_du_q (__m256i_op0, __m256i_op1, 0x4b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrani_h_w (__m256i_op0, __m256i_op1, 0xa);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0004000f00100003;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000400030010000f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0004000f00100003;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000400030010000f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0400100004001000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0400100004001000;
+  __m256i_out = __lasx_xvssrani_hu_w (__m256i_op0, __m256i_op1, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x3eab77367fff4848;
+  *((unsigned long *)&__m256i_op0[2]) = 0x408480007fff0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x3eab77367fff4848;
+  *((unsigned long *)&__m256i_op0[0]) = 0x408480007fff0000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000700000008;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000700000008;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvssrani_w_d (__m256i_op0, __m256i_op1, 0x3b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssrani_du_q (__m256i_op0, __m256i_op1, 0x55);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xc07f8000c07f8000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xc07f8000c07f8000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000fff01fe0;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000fff01fe0;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvssrani_w_d (__m256i_op0, __m256i_op1, 0x2a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000fe96fe95;
+  *((unsigned long *)&__m256i_op0[2]) = 0x6afc01000001ff00;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000fe96fe95;
+  *((unsigned long *)&__m256i_op0[0]) = 0x6afc01000001ff00;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000010000ff00;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000010000ff00;
+  *((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_xvssrani_d_q (__m256i_op0, __m256i_op1, 0x7e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000040404000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000040404000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000001010101;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000404;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000001010101;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000404;
+  __m256i_out = __lasx_xvssrani_h_w (__m256i_op0, __m256i_op1, 0x14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0404000004040000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0404000004040000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0404000004040000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0404000004040000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0404000004040000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0404000004040000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0404000004040000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0404000004040000;
+  *((unsigned long *)&__m256i_result[3]) = 0x4000400040004000;
+  *((unsigned long *)&__m256i_result[2]) = 0x4000400040004000;
+  *((unsigned long *)&__m256i_result[1]) = 0x4000400040004000;
+  *((unsigned long *)&__m256i_result[0]) = 0x4000400040004000;
+  __m256i_out = __lasx_xvssrani_bu_h (__m256i_op0, __m256i_op1, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000020202000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000020202000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+  *((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_xvssrani_w_d (__m256i_op0, __m256i_op1, 0x3d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000000007f433c78;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000007f433c78;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_xvssrani_bu_h (__m256i_op0, __m256i_op1, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ff88ffc0;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ff78ffc0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ff88ffc0;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ff78ffc0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000001ff1;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000001ff1;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrani_d_q (__m256i_op0, __m256i_op1, 0x53);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000010;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000010;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrani_du_q (__m256i_op0, __m256i_op1, 0x1c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrani_w_d (__m256i_op0, __m256i_op1, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x03fbfffc03fc07fc;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x03fbfffc03fc07fc;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffff80000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffffff80000000;
+  __m256i_out = __lasx_xvssrani_w_d (__m256i_op0, __m256i_op1, 0x18);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff003fffc0;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000003fffc0;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvssrani_h_w (__m256i_op0, __m256i_op1, 0x19);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffc00fffffc00;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffc00fffffc00;
+  *((unsigned long *)&__m256i_op1[3]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256i_op1[2]) = 0xff00ff007f007f00;
+  *((unsigned long *)&__m256i_op1[1]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff00ff007f007f00;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_result[2]) = 0xc03fc03fc03fc03f;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_result[0]) = 0xc03fc03fc03fc03f;
+  __m256i_out = __lasx_xvssrani_d_q (__m256i_op0, __m256i_op1, 0x3a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ff80;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000000ff;
+  __m256i_out = __lasx_xvssrani_b_h (__m256i_op0, __m256i_op1, 0xe);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ff80;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
+  *((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_xvssrani_wu_d (__m256i_op0, __m256i_op1, 0x15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrani_du_q (__m256i_op0, __m256i_op1, 0x6c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((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_xvssrani_h_w (__m256i_op0, __m256i_op1, 0x1b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000700000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000700000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000005;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000005;
+  __m256i_out = __lasx_xvssrani_du_q (__m256i_op0, __m256i_op1, 0x60);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0004000500040005;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0004000500040005;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0004000500040005;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0004000500040005;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0004000400040004;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0004000500040005;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0004000400040004;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0004000500040005;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvssrani_du_q (__m256i_op0, __m256i_op1, 0x1a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x7fff80007fff0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fff80007fff0000;
+  *((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_xvssrani_bu_h (__m256i_op0, __m256i_op1, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffff0000fffd0004;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0002fffd;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0002fffd;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff0000fffd0004;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffff0000fffd0004;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0002fffd;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0002fffd;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffff0000fffd0004;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffff0;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffff0;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000000f;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000000f;
+  __m256i_out = __lasx_xvssrani_d_q (__m256i_op0, __m256i_op1, 0x6c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrarn.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrarn.c
new file mode 100644
index 00000000000..7848ddd419f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrarn.c
@@ -0,0 +1,905 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+  __m256i_out = __lasx_xvssrarn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+  *((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_xvssrarn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarn_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000017ffffffe;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000017ffffffe;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000017ffffffe;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000017ffffffe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff0000ffff0000;
+  __m256i_out = __lasx_xvssrarn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarn_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff80000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff80000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
+  __m256i_out = __lasx_xvssrarn_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrarn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000100da000100fd;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0001ffe20001fefd;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001009a000100fd;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0001ff640001fefd;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000100da000100fd;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0001ffe20001fefd;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0001009a000100fd;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0001ff640001fefd;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007ff90000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000001ff60000;
+  __m256i_out = __lasx_xvssrarn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffe00000001;
+  __m256i_out = __lasx_xvssrarn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000001b0000001b;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000001b00fd0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000001b0000001b;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000001b00fd0000;
+  *((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_xvssrarn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff00ffffff00ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff00ffffff00ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff00ffffff00ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff00ffffff00ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrarn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00010002;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0080000200000002;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff00010002;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrarn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00c200c200c200c2;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00c200c200c200bb;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00c200c200c200c2;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00c200c200c200bb;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffc2c2ffffc2c2;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffc2c2ffffc2c2;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffc2c2ffffc2c2;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffc2c2ffffc2c2;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x003100310031002f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x003100310031002f;
+  __m256i_out = __lasx_xvssrarn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffefffe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrarn_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffe0001fffe0003;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffe0001fffe0003;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffe0001fffe0003;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffe0001fffe0003;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffe0001fffe0003;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffe0001fffe0003;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001000000010000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001000000000002;
+  __m256i_out = __lasx_xvssrarn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrarn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00000000ffff6f20;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000781e0000f221;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffff6f20;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000781e0000f221;
+  *((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_xvssrarn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssrarn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssrarn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000fffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000fffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000fffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000fffe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+  *((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_xvssrarn_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssrarn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xbf00bf00bf00bf00;
+  *((unsigned long *)&__m256i_op0[2]) = 0xbf84bf00bf00bf0e;
+  *((unsigned long *)&__m256i_op0[1]) = 0xbf00bf00bf00bf00;
+  *((unsigned long *)&__m256i_op0[0]) = 0xbf84bf00bf00bf0e;
+  *((unsigned long *)&__m256i_op1[3]) = 0xbf00bf00bf00bf00;
+  *((unsigned long *)&__m256i_op1[2]) = 0xbf84bf00bf00bf0e;
+  *((unsigned long *)&__m256i_op1[1]) = 0xbf00bf00bf00bf00;
+  *((unsigned long *)&__m256i_op1[0]) = 0xbf84bf00bf00bf0e;
+  *((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_xvssrarn_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00007f7f80007fa3;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000007f670000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00007f7f80007fa3;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000007f670000;
+  *((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_xvssrarn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000200000008;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000200000008;
+  __m256i_out = __lasx_xvssrarn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfff1fff1fff1fff1;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfff1fff1fff1fff1;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfff1fff1fff1fff1;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfff1fff1fff1fff1;
+  *((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_xvssrarn_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffff000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffff000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffff000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffff000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffff0001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffff0001;
+  *((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_xvssrarn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrarn_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000408080c111414;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000408080c111414;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000408080c111414;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000408080c111414;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0002000200010002;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0002000200010002;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0002000200010002;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0002000200010002;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff7fff7fff;
+  __m256i_out = __lasx_xvssrarn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ff88ff88;
+  *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ff88ff88;
+  *((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_xvssrarn_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000010006d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000010006d;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000800400010006d;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000800400010006d;
+  __m256i_out = __lasx_xvssrarn_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0200000002000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x02000000fdffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0200000002000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x02000000fdffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000000000b7;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffefff80;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000000000b7;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffefff80;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000004ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000004ffffffff;
+  __m256i_out = __lasx_xvssrarn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x3fd1000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x3fd1000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x3fd1000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x3fd1000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x3fd1000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x3fd1000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x3fd1000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x3fd1000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xff000000ff000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xff000000ff000000;
+  __m256i_out = __lasx_xvssrarn_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrarn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffb6811fffff80;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff97c120000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffb6811fffff80;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff97c120000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xdb410010cbe10010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xdb410010cbe10010;
+  __m256i_out = __lasx_xvssrarn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000000019ffdf403;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000011ffd97c3;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000019ffdf403;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000011ffd97c3;
+  *((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_xvssrarn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrarn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0020000000200000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x002000000020ffff;
+  *((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_xvssrarn_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000004000000040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000004000000040;
+  __m256i_out = __lasx_xvssrarn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000004000000040;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000004000000040;
+  *((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_xvssrarn_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x1a1a1a2c1a1a1a2c;
+  *((unsigned long *)&__m256i_op1[2]) = 0x1a1a1a2c1a1a1a2c;
+  *((unsigned long *)&__m256i_op1[1]) = 0x1a1a1a2c1a1a1a2c;
+  *((unsigned long *)&__m256i_op1[0]) = 0x1a1a1a2c1a1a1a2c;
+  *((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_xvssrarn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x3838383838383838;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffdfffffe00;
+  *((unsigned long *)&__m256i_op0[1]) = 0x3838383838383838;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffdfffffe00;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvssrarn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000020002000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000020002000;
+  *((unsigned long *)&__m256i_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_xvssrarn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssrarn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarn_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffbffffffffffffe;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffffffffa;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffbffffffffffffe;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffffa;
+  *((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_xvssrarn_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000007b007e;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000007b007e;
+  *((unsigned long *)&__m256i_op1[3]) = 0xc03b000200020002;
+  *((unsigned long *)&__m256i_op1[2]) = 0xc03b000200020002;
+  *((unsigned long *)&__m256i_op1[1]) = 0xc03b000200020002;
+  *((unsigned long *)&__m256i_op1[0]) = 0xc03b000200020002;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000001ec020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000001ec020;
+  __m256i_out = __lasx_xvssrarn_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrarni.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrarni.c
new file mode 100644
index 00000000000..b1c16baf419
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrarni.c
@@ -0,0 +1,1160 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0xfffffffffffffc00;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffc00;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffffffc00;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffffc00;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000020000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000020000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrarni_du_q (__m256i_op0, __m256i_op1, 0x23);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000800;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000800;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000800;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000f20;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000000009f0;
+  *((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_xvssrarni_w_d (__m256i_op0, __m256i_op1, 0x1e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00001f41ffffbf00;
+  *((unsigned long *)&__m256i_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]) = 0x0000000400000000;
+  __m256i_out = __lasx_xvssrarni_w_d (__m256i_op0, __m256i_op1, 0x2b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00ffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00ffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00ffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00ffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000010000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000010000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000010000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000010000000;
+  __m256i_out = __lasx_xvssrarni_b_h (__m256i_op0, __m256i_op1, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000100;
+  __m256i_out = __lasx_xvssrarni_d_q (__m256i_op0, __m256i_op1, 0x5d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xf5f5bfbaf5f5bfbe;
+  *((unsigned long *)&__m256i_op0[2]) = 0xf5f0bfb8f5d8bfe8;
+  *((unsigned long *)&__m256i_op0[1]) = 0xf5f5bfbaf5f5bfbe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xf5f0bfb8f5d8bfe8;
+  *((unsigned long *)&__m256i_op1[3]) = 0xf5f5bfbaf5f5bfbe;
+  *((unsigned long *)&__m256i_op1[2]) = 0xf5f0bfb8f5d8bfe8;
+  *((unsigned long *)&__m256i_op1[1]) = 0xf5f5bfbaf5f5bfbe;
+  *((unsigned long *)&__m256i_op1[0]) = 0xf5f0bfb8f5d8bfe8;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffff5f5c;
+  __m256i_out = __lasx_xvssrarni_d_q (__m256i_op0, __m256i_op1, 0x6c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x005500550055ffab;
+  *((unsigned long *)&__m256i_op0[2]) = 0x005500550055ffab;
+  *((unsigned long *)&__m256i_op0[1]) = 0x005500550055ffab;
+  *((unsigned long *)&__m256i_op0[0]) = 0x005500550055ffab;
+  *((unsigned long *)&__m256i_op1[3]) = 0x005500550055ffab;
+  *((unsigned long *)&__m256i_op1[2]) = 0x005500550055ffab;
+  *((unsigned long *)&__m256i_op1[1]) = 0x005500550055ffab;
+  *((unsigned long *)&__m256i_op1[0]) = 0x005500550055ffab;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvssrarni_wu_d (__m256i_op0, __m256i_op1, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000fffff6ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000fffff6ff;
+  *((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;
+  *((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_xvssrarni_w_d (__m256i_op0, __m256i_op1, 0x28);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0a09080706050403;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0a09080706050403;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0003000200000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0003000200000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrarni_h_w (__m256i_op0, __m256i_op1, 0x1a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
+  __m256i_out = __lasx_xvssrarni_h_w (__m256i_op0, __m256i_op1, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_w_d (__m256i_op0, __m256i_op1, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((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]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffff0000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000010000;
+  __m256i_out = __lasx_xvssrarni_d_q (__m256i_op0, __m256i_op1, 0x30);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000010001;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrarni_hu_w (__m256i_op0, __m256i_op1, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0001010300010102;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000410041;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrarni_bu_h (__m256i_op0, __m256i_op1, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000df93f0000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000077843;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000003800000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrarni_w_d (__m256i_op0, __m256i_op1, 0x1e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_bu_h (__m256i_op0, __m256i_op1, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrarni_w_d (__m256i_op0, __m256i_op1, 0x27);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x2000200020002000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrarni_hu_w (__m256i_op0, __m256i_op1, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_wu_d (__m256i_op0, __m256i_op1, 0x3b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_b_h (__m256i_op0, __m256i_op1, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+  *((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_xvssrarni_du_q (__m256i_op0, __m256i_op1, 0x73);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssrarni_d_q (__m256i_op0, __m256i_op1, 0x17);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8001b72e0001b72e;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8001b72eaf12d5f0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000247639d9cb530;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8001b72eaf12d5f0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffe056fd9d;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffceba70;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrarni_hu_w (__m256i_op0, __m256i_op1, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_h_w (__m256i_op0, __m256i_op1, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00150015003a402f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x333568ce26dcd055;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00150015003a402f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x333568ce26dcd055;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000007d0d0d0;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000007d0d0d0;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrarni_d_q (__m256i_op0, __m256i_op1, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000800000098;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000040000ffca;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000800000098;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000040000ff79;
+  *((unsigned long *)&__m256i_op1[3]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256i_op1[2]) = 0xff04ff00ff00ff00;
+  *((unsigned long *)&__m256i_op1[1]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff04ff00ff00ff00;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000008000000a;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000008000000a;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrarni_du_q (__m256i_op0, __m256i_op1, 0x44);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000120e120d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000120e120d;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000907;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000907;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrarni_w_d (__m256i_op0, __m256i_op1, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_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_xvssrarni_hu_w (__m256i_op0, __m256i_op1, 0x1a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_w_d (__m256i_op0, __m256i_op1, 0x32);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_wu_d (__m256i_op0, __m256i_op1, 0x27);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_hu_w (__m256i_op0, __m256i_op1, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrarni_d_q (__m256i_op0, __m256i_op1, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0016001600160016;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0016001600160016;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0016001600160016;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0016001600160016;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrarni_bu_h (__m256i_op0, __m256i_op1, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssrarni_bu_h (__m256i_op0, __m256i_op1, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_wu_d (__m256i_op0, __m256i_op1, 0x3b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000000000008000;
+  *((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_xvssrarni_wu_d (__m256i_op0, __m256i_op1, 0x2b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_hu_w (__m256i_op0, __m256i_op1, 0x10);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0010002000100020;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0010002000100020;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0010002000100020;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0010002000100020;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000fffffffe;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000fffffffe;
+  __m256i_out = __lasx_xvssrarni_w_d (__m256i_op0, __m256i_op1, 0x3e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_wu_d (__m256i_op0, __m256i_op1, 0x2a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfffffffe00000002;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffe00000002;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffe00000002;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffe00000002;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffe000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffe000;
+  __m256i_out = __lasx_xvssrarni_d_q (__m256i_op0, __m256i_op1, 0x54);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00030006fa05f20e;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00030081bd80f90e;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000018;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000018;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrarni_w_d (__m256i_op0, __m256i_op1, 0x2d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x02407a3c00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0d0cf2f30d0cf2f3;
+  *((unsigned long *)&__m256i_op0[1]) = 0x02407a3c00000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0d0cf2f30d0cf2f3;
+  *((unsigned long *)&__m256i_op1[3]) = 0xefdfefdf00000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xefdfefdfefdfefdf;
+  *((unsigned long *)&__m256i_op1[1]) = 0xefdfefdf00000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xefdfefdfefdfefdf;
+  *((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_xvssrarni_wu_d (__m256i_op0, __m256i_op1, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0020000f0000000f;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0010000f0000000f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0020000f0000000f;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0010000f0000000f;
+  *((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_xvssrarni_b_h (__m256i_op0, __m256i_op1, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000f0f0f0f0;
+  *((unsigned long *)&__m256i_op0[2]) = 0xf0f0f0f0f0f0f0f0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000f0f0f0f0;
+  *((unsigned long *)&__m256i_op0[0]) = 0xf0f0f0f0f0f0f0f0;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ff0fff0fff0f;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ff0fff0fff0f;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrarni_h_w (__m256i_op0, __m256i_op1, 0x14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_h_w (__m256i_op0, __m256i_op1, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_h_w (__m256i_op0, __m256i_op1, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffff70156;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffff70156;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffff70156;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffff70156;
+  *((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_xvssrarni_du_q (__m256i_op0, __m256i_op1, 0x74);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_wu_d (__m256i_op0, __m256i_op1, 0x2c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xde00fe0000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000fe010000fe01;
+  *((unsigned long *)&__m256i_op0[1]) = 0xde00fe0000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000fe010000fe01;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xfc00000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xfc00000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrarni_b_h (__m256i_op0, __m256i_op1, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000100010001ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000100010001ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000100010001ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000100010001ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00007ff000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00007ff000000000;
+  *((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_xvssrarni_d_q (__m256i_op0, __m256i_op1, 0x79);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_h_w (__m256i_op0, __m256i_op1, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7000700070007000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7000700070007000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000070007000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7000700070007000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[3]) = 0x0e0e0e0e0e0e0e0e;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000e0e0e0e0e0e;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrarni_b_h (__m256i_op0, __m256i_op1, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xc848c848c848c848;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8848c848c848c848;
+  *((unsigned long *)&__m256i_op1[1]) = 0xc848c848c848c848;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8848c848c848c848;
+  *((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_xvssrarni_bu_h (__m256i_op0, __m256i_op1, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrarni_hu_w (__m256i_op0, __m256i_op1, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xa1a1a1a1a1a15e5e;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xa1a1a1a1a1a15e5e;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssrarni_hu_w (__m256i_op0, __m256i_op1, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x01ff0020ff1f001f;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffe1ffe0ffe1ffe0;
+  *((unsigned long *)&__m256i_op1[1]) = 0x01ff0020ff1f001f;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffe1ffe0ffe1ffe0;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00003fe000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00003fe000000000;
+  __m256i_out = __lasx_xvssrarni_wu_d (__m256i_op0, __m256i_op1, 0x2b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
+  *((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_xvssrarni_du_q (__m256i_op0, __m256i_op1, 0x45);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0001fffe0001fffa;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0001fffe00018069;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0001fffe0001fffa;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0001fffe00018069;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000002000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000002000;
+  __m256i_out = __lasx_xvssrarni_d_q (__m256i_op0, __m256i_op1, 0x64);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_h_w (__m256i_op0, __m256i_op1, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000004000000020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000004000000020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrarni_bu_h (__m256i_op0, __m256i_op1, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_h_w (__m256i_op0, __m256i_op1, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00b213171dff0606;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00e9a80014ff0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00b213171dff0606;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00e9a80014ff0000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xff00000000ffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff00000000ffffff;
+  *((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_xvssrarni_wu_d (__m256i_op0, __m256i_op1, 0x3b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000038000000268;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000038000000268;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000001010101;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000001010101;
+  __m256i_out = __lasx_xvssrarni_bu_h (__m256i_op0, __m256i_op1, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0400000004000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000400;
+  *((unsigned long *)&__m256i_result[1]) = 0x0400000004000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000400;
+  __m256i_out = __lasx_xvssrarni_wu_d (__m256i_op0, __m256i_op1, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_d_q (__m256i_op0, __m256i_op1, 0x5b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0080000000000002;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0080000000000002;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x08000000000000f8;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x08000000000000f8;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0200000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x2000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0200000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x2000000000000000;
+  __m256i_out = __lasx_xvssrarni_wu_d (__m256i_op0, __m256i_op1, 0x1e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000013;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000013;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000013;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000013;
+  *((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_xvssrarni_d_q (__m256i_op0, __m256i_op1, 0x6a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrarni_d_q (__m256i_op0, __m256i_op1, 0x36);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrarni_h_w (__m256i_op0, __m256i_op1, 0x1d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x498000804843ffe0;
+  *((unsigned long *)&__m256i_op1[2]) = 0x4980008068400000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x498000804843ffe0;
+  *((unsigned long *)&__m256i_op1[0]) = 0x4980008068400000;
+  *((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_xvssrarni_hu_w (__m256i_op0, __m256i_op1, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000008;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000040000001b;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000008;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000040000001b;
+  *((unsigned long *)&__m256i_op1[3]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff00000000000000;
+  *((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_xvssrarni_b_h (__m256i_op0, __m256i_op1, 0xe);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x41dffbffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffff00ff800000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x41dffbffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffff00ff800000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7f80ffffff808000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7f80ffffff808000;
+  __m256i_out = __lasx_xvssrarni_b_h (__m256i_op0, __m256i_op1, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000001e00000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0002000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrarni_h_w (__m256i_op0, __m256i_op1, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000500020002;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000700020033;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000500020002;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000700020033;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000500020002;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000700020033;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000500020002;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000700020033;
+  *((unsigned long *)&__m256i_result[3]) = 0x1400080008000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x1400080008000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x1400080008000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x1400080008000000;
+  __m256i_out = __lasx_xvssrarni_d_q (__m256i_op0, __m256i_op1, 0x26);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000001c;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000001de;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000001c;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000001de;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000007ffffffce;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000007ffffffce;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000060000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000060000000;
+  __m256i_out = __lasx_xvssrarni_du_q (__m256i_op0, __m256i_op1, 0x44);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00003fea0014734d;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00003fe900140d85;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00003fea0014734d;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00003fe900140d85;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000ff0000ff00;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000ff0000ff00;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvssrarni_du_q (__m256i_op0, __m256i_op1, 0x17);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrln.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrln.c
new file mode 100644
index 00000000000..356eb21822d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrln.c
@@ -0,0 +1,965 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x44bb2cd3a35c2fd0;
+  *((unsigned long *)&__m256i_op0[0]) = 0xca355ba46a95e31c;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000100ab000500a0;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000200b800080124;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0001011b000200aa;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00150118008f0091;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7f057f0b7f5b007f;
+  __m256i_out = __lasx_xvssrln_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_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]) = 0x000000007fffffff;
+  __m256i_out = __lasx_xvssrln_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000020000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000020000000;
+  *((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]) = 0x0000000000000007;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrln_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000007f00;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fff7ffe7fffeffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffd84900000849;
+  *((unsigned long *)&__m256i_op0[0]) = 0x07fffc670800f086;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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]) = 0x0000000100000000;
+  __m256i_out = __lasx_xvssrln_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrln_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssrln_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000017ffffffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000017ffffffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000017ffffffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000017ffffffe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffff0ffff0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffff0ffff0000;
+  *((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_xvssrln_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000017000000080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000017000000080;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000001700080;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000001700080;
+  __m256i_out = __lasx_xvssrln_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x2000200020002000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x2000200020002000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x2000200020002000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x2000200020002000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7f7f7f7f7f7f7f7f;
+  __m256i_out = __lasx_xvssrln_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffbfffc;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffff8c80;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000fff0e400;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvssrln_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfffffffffffbfffc;
+  *((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_xvssrln_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrln_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000005536aaaaac;
+  *((unsigned long *)&__m256i_op0[2]) = 0x55555555aaaaaaac;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000005536aaaaac;
+  *((unsigned long *)&__m256i_op0[0]) = 0x55555555aaaaaaac;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfff9fffffffbffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffdaaaaffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfff9fffffffbffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffdaaaaffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000060102150101;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000060102150101;
+  __m256i_out = __lasx_xvssrln_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfe00000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1cfd000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfe00000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x1cfd000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfe00000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x1cfd000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfe00000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x1cfd000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xff00000000000000;
+  __m256i_out = __lasx_xvssrln_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000ff00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000ff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000ff00000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000ff00000000;
+  *((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_xvssrln_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000003f00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000003f00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000003f0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000003f0000;
+  __m256i_out = __lasx_xvssrln_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00007f7f7f7f0000;
+  __m256i_out = __lasx_xvssrln_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000002a54290;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000154dc84;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000002a54290;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000089;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00007fff00007fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00007fff00000089;
+  __m256i_out = __lasx_xvssrln_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssrln_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((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_xvssrln_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrln_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrln_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrln_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrln_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrln_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfe7fffecfe7fffec;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff800000ff800000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfe7fffecfe7fffec;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff80000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((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_xvssrln_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrln_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffff600000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff000009ec;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffff600000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff000009ec;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrln_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrln_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_op1[3]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fefffffffffffff;
+  *((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_xvssrln_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrln_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0001fffe0001fffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0001fffe0001fffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001fffe0001fffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0001fffe0001fffe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrln_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8060000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8060000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x1f001f00000007ef;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00001fff200007ef;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff00007fff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff000000010000;
+  __m256i_out = __lasx_xvssrln_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fffffff7fffffff;
+  *((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_xvssrln_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000ff00000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000ff00000001;
+  __m256i_out = __lasx_xvssrln_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff81ff7dffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff81ff7d;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff81ff7dffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff81ff7d;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7f7f7f7f7f017ffd;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7f7f7f7f7f017ffd;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000100000007;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000100000007;
+  __m256i_out = __lasx_xvssrln_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrln_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrln_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrln_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000007ffffffff;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000077fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrln_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x01ff0020ff1f001f;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fe1ffe0ffe1ffe0;
+  *((unsigned long *)&__m256i_op1[1]) = 0x01ff0020ff1f001f;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fe1ffe0ffe1ffe0;
+  *((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_xvssrln_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00011ffb0000bee1;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00011ffb0000bee1;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffff00ffffff00;
+  *((unsigned long *)&__m256i_op1[2]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffff00ffffff00;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007fff7fff;
+  __m256i_out = __lasx_xvssrln_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrln_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssrln_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000007f007f007f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000007f007f007f;
+  *((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_xvssrln_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0100010001000100;
+  *((unsigned long *)&__m256i_op0[2]) = 0x01ffff4300ffff00;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0100010001000100;
+  *((unsigned long *)&__m256i_op0[0]) = 0x01ffff4300ffff00;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff00000000;
+  __m256i_out = __lasx_xvssrln_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x04e8296f08181818;
+  *((unsigned long *)&__m256i_op0[2]) = 0x032feea900000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x04e8296f08181818;
+  *((unsigned long *)&__m256i_op0[0]) = 0x032feea900000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffff0000;
+  __m256i_out = __lasx_xvssrln_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrln_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrln_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000fffcfffcfffc;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffcfffcfffcfffc;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000fffcfffcfffc;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffcfffcfffcfffc;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrln_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_op1[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_xvssrln_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x41cfe01dde000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x41cfe01dde000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000013fc03bbc;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000013fc03bbc;
+  __m256i_out = __lasx_xvssrln_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrln_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000fff8ff40;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ff0100090040;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000fff8ff40;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ff0100090040;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrln_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000017f00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00007f7f03030000;
+  __m256i_out = __lasx_xvssrln_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xdf80df80df80dfff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffdf80dfff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrln_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvssrln_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssrln_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000017f7f7f7f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000017f7f7f7f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000017fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000017fff;
+  __m256i_out = __lasx_xvssrln_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff800000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff800000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffff000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffff000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff000000017fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff000000017fff;
+  __m256i_out = __lasx_xvssrln_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrln_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000003fffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000003fffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff010100000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff010100000001;
+  __m256i_out = __lasx_xvssrln_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000000000000000c;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000000000000c;
+  *((unsigned long *)&__m256i_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_xvssrln_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlni.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlni.c
new file mode 100644
index 00000000000..116bebbb681
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlni.c
@@ -0,0 +1,1130 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7f7f7f7f00007f7f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x3f28306860663e60;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffff0000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x40d74f979f99419f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fff01fd7fff7fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00007fff7fff7fff;
+  __m256i_out = __lasx_xvssrlni_h_w (__m256i_op0, __m256i_op1, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_bu_h (__m256i_op0, __m256i_op1, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffe0ffe0ffe0ffe0;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffe0ffe0ffe0ffe0;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffe0ffe0ffe0ffe0;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffe0ffe0ffe0ffe0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x1e1800001e180000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x1e1800001e180000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000ffe0;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000001e18;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffe0;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000001e18;
+  __m256i_out = __lasx_xvssrlni_du_q (__m256i_op0, __m256i_op1, 0x70);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_bu_h (__m256i_op0, __m256i_op1, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrlni_wu_d (__m256i_op0, __m256i_op1, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x1c1b1a191c1b1a19;
+  *((unsigned long *)&__m256i_op1[2]) = 0x1c1b1a191c1b1a19;
+  *((unsigned long *)&__m256i_op1[1]) = 0x1c1b1a191c1b1a19;
+  *((unsigned long *)&__m256i_op1[0]) = 0x1c1b1a191c1b1a19;
+  *((unsigned long *)&__m256i_result[3]) = 0x1fffffff1fffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0383634303836343;
+  *((unsigned long *)&__m256i_result[1]) = 0x1fffffff1fffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0383634303836343;
+  __m256i_out = __lasx_xvssrlni_w_d (__m256i_op0, __m256i_op1, 0x23);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000401000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000401000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000401000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000401000000;
+  *((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_xvssrlni_du_q (__m256i_op0, __m256i_op1, 0x68);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000001000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000001000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000001000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000001000000;
+  *((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_xvssrlni_d_q (__m256i_op0, __m256i_op1, 0x6c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0036003200360032;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0036003200360032;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0036003200360032;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0036003200360032;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrlni_wu_d (__m256i_op0, __m256i_op1, 0x14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffefffffefc;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffffe;
+  *((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_xvssrlni_wu_d (__m256i_op0, __m256i_op1, 0x1d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000800000004;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000bf6e0000c916;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000030000fff3;
+  *((unsigned long *)&__m256i_op1[3]) = 0x001175f10e4330e8;
+  *((unsigned long *)&__m256i_op1[2]) = 0xff8f0842ff29211e;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffff8d9ffa7103d;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000e00ff00ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000ff00ff;
+  __m256i_out = __lasx_xvssrlni_hu_w (__m256i_op0, __m256i_op1, 0x18);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x7f80780000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000004000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7f80780000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000004000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff00001000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00001000;
+  __m256i_out = __lasx_xvssrlni_wu_d (__m256i_op0, __m256i_op1, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((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_xvssrlni_d_q (__m256i_op0, __m256i_op1, 0x39);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xebebebebebebebeb;
+  *((unsigned long *)&__m256i_op1[2]) = 0x6aeaeaeaeaeaeaea;
+  *((unsigned long *)&__m256i_op1[1]) = 0xebebebebebebebeb;
+  *((unsigned long *)&__m256i_op1[0]) = 0x6aeaeaeaeaeaeaea;
+  *((unsigned long *)&__m256i_result[3]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvssrlni_hu_w (__m256i_op0, __m256i_op1, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_b_h (__m256i_op0, __m256i_op1, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000003f0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000003f0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrlni_w_d (__m256i_op0, __m256i_op1, 0x30);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000fffc0000fee0;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000fe000000ffe0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffff900000003;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffff900000003;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x7ffe00007f000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007fffffff;
+  __m256i_out = __lasx_xvssrlni_w_d (__m256i_op0, __m256i_op1, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7ffe00007f000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff0000ffff;
+  __m256i_out = __lasx_xvssrlni_hu_w (__m256i_op0, __m256i_op1, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xe17cec8fe08008ac;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xe0801f41e0800168;
+  *((unsigned long *)&__m256i_op1[3]) = 0x9240f24a84b18025;
+  *((unsigned long *)&__m256i_op1[2]) = 0x9240f24a84b18025;
+  *((unsigned long *)&__m256i_op1[1]) = 0xb2c0b341807f8006;
+  *((unsigned long *)&__m256i_op1[0]) = 0xb2c0b341807f8006;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000012481e4950;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000001658166830;
+  __m256i_out = __lasx_xvssrlni_du_q (__m256i_op0, __m256i_op1, 0x5b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_b_h (__m256i_op0, __m256i_op1, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x77777777f7777777;
+  *((unsigned long *)&__m256i_op0[2]) = 0xf777777777777777;
+  *((unsigned long *)&__m256i_op0[1]) = 0x77777777f7777777;
+  *((unsigned long *)&__m256i_op0[0]) = 0xf777777777777777;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrlni_bu_h (__m256i_op0, __m256i_op1, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000000000000ff24;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ff24;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000003;
+  __m256i_out = __lasx_xvssrlni_wu_d (__m256i_op0, __m256i_op1, 0xe);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000040404040;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000040404240;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000040404040;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000040404240;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000040404040;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000040404240;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000040404040;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000040404240;
+  *((unsigned long *)&__m256i_result[3]) = 0x00007f7f00007f7f;
+  *((unsigned long *)&__m256i_result[2]) = 0x00007f7f00007f7f;
+  *((unsigned long *)&__m256i_result[1]) = 0x00007f7f00007f7f;
+  *((unsigned long *)&__m256i_result[0]) = 0x00007f7f00007f7f;
+  __m256i_out = __lasx_xvssrlni_b_h (__m256i_op0, __m256i_op1, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_hu_w (__m256i_op0, __m256i_op1, 0x13);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_h_w (__m256i_op0, __m256i_op1, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00010001000c4411;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0001000100044411;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000002800000010;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000002800000010;
+  *((unsigned long *)&__m256i_result[3]) = 0x0002000200020018;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0002000200020008;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrlni_h_w (__m256i_op0, __m256i_op1, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000c0000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000040000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000c0000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000040000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0003030300000300;
+  *((unsigned long *)&__m256i_result[2]) = 0x0003030300000300;
+  *((unsigned long *)&__m256i_result[1]) = 0x0003030300000100;
+  *((unsigned long *)&__m256i_result[0]) = 0x0003030300000100;
+  __m256i_out = __lasx_xvssrlni_bu_h (__m256i_op0, __m256i_op1, 0xe);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000002000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000800000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000002000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000800000;
+  __m256i_out = __lasx_xvssrlni_d_q (__m256i_op0, __m256i_op1, 0x28);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_result[3]) = 0x00003fff00003fff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00003fff00003fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00003fff00003fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00003fff00003fff;
+  __m256i_out = __lasx_xvssrlni_w_d (__m256i_op0, __m256i_op1, 0x32);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00007f7f00007f7f;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00007f7f00007f7f;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrlni_b_h (__m256i_op0, __m256i_op1, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x007f000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x007f00ff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0007fff8000ffff0;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0007fff8000ffff0;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000003f0000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000030007;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000003f0000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000030007;
+  __m256i_out = __lasx_xvssrlni_hu_w (__m256i_op0, __m256i_op1, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000007f7f817f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7f807f007f7f817f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000007f7f817f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7f807f007f7f817f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x4ffc3f783fc040c0;
+  *((unsigned long *)&__m256i_op1[2]) = 0x3fc03f803fc040c0;
+  *((unsigned long *)&__m256i_op1[1]) = 0x4ffc3f783fc040c0;
+  *((unsigned long *)&__m256i_op1[0]) = 0x3fc03f803fc040c0;
+  *((unsigned long *)&__m256i_result[3]) = 0x0003fbfc0bfbfc03;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0003fbfc0bfbfc03;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvssrlni_du_q (__m256i_op0, __m256i_op1, 0x2d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xff56ff55ff01ff01;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff56ff55ff01ff01;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007f7f7f7f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007f7f7f7f;
+  __m256i_out = __lasx_xvssrlni_b_h (__m256i_op0, __m256i_op1, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_b_h (__m256i_op0, __m256i_op1, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xa90896a400000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa90896a400000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000504fffff3271;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffff47b4ffff5879;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000504fffff3271;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffff47b4ffff5879;
+  *((unsigned long *)&__m256i_result[3]) = 0x7f7f000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x007f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_result[1]) = 0x7f7f000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x007f7f7f7f7f7f7f;
+  __m256i_out = __lasx_xvssrlni_b_h (__m256i_op0, __m256i_op1, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff80017fff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff80017fff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007fffffff;
+  __m256i_out = __lasx_xvssrlni_w_d (__m256i_op0, __m256i_op1, 0x1c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_op0[2]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_op0[1]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_op0[0]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffe00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffe00000000;
+  __m256i_out = __lasx_xvssrlni_du_q (__m256i_op0, __m256i_op1, 0x1f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x80000000ff810011;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x80000000ff810011;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffff8180ffff8181;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffff8180ffff8181;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000008000ff00;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ff81ff81;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000008000ff00;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ff81ff81;
+  __m256i_out = __lasx_xvssrlni_bu_h (__m256i_op0, __m256i_op1, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfffffebeeaaefafb;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffebeeaaeeeeb;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffebeeaaefafb;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffebeeaaeeeeb;
+  *((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_xvssrlni_w_d (__m256i_op0, __m256i_op1, 0x13);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x01ffbfff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x03ffffff03ffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x01ffbfff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x03ffffff03ffffff;
+  __m256i_out = __lasx_xvssrlni_w_d (__m256i_op0, __m256i_op1, 0x26);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x001f001f001f001f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x001f001f001f001f;
+  __m256i_out = __lasx_xvssrlni_hu_w (__m256i_op0, __m256i_op1, 0x1b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_d_q (__m256i_op0, __m256i_op1, 0x61);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_hu_w (__m256i_op0, __m256i_op1, 0x14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0200000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0200000000000000;
+  __m256i_out = __lasx_xvssrlni_du_q (__m256i_op0, __m256i_op1, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x1f001f00000007ef;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00001fff200007ef;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000001f0000001f;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000003030000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000001f0000001f;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000030400;
+  __m256i_out = __lasx_xvssrlni_b_h (__m256i_op0, __m256i_op1, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x007000008e700000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x007000008e700000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7171717171010101;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8e8e8e8e8f00ffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7171717171010101;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8e8e8e8e8f00ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000ff00;
+  *((unsigned long *)&__m256i_result[2]) = 0xe2e2e202ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000ff00;
+  *((unsigned long *)&__m256i_result[0]) = 0xe2e2e202ffffffff;
+  __m256i_out = __lasx_xvssrlni_bu_h (__m256i_op0, __m256i_op1, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xc800c800c800c800;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8800c800c800c801;
+  *((unsigned long *)&__m256i_op0[1]) = 0xc800c800c800c800;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8800c800c800c801;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrlni_hu_w (__m256i_op0, __m256i_op1, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_hu_w (__m256i_op0, __m256i_op1, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_b_h (__m256i_op0, __m256i_op1, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_bu_h (__m256i_op0, __m256i_op1, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0003800400038004;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000a800b000a800b;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0003800400038004;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000a800b000a800b;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000e0010000e;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000e0010000e;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrlni_d_q (__m256i_op0, __m256i_op1, 0x4e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_wu_d (__m256i_op0, __m256i_op1, 0x38);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xe07de0801f20607a;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xe07de0801f20607a;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x01ff01ff01c0003e;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x01ff01ff01c0003e;
+  __m256i_out = __lasx_xvssrlni_hu_w (__m256i_op0, __m256i_op1, 0x17);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_bu_h (__m256i_op0, __m256i_op1, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0707070707070707;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0707070707070707;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrlni_bu_h (__m256i_op0, __m256i_op1, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0018001800180018;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0018001800180018;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0018001800180018;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0018001800180018;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x3000300030003000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x3000300030003000;
+  __m256i_out = __lasx_xvssrlni_h_w (__m256i_op0, __m256i_op1, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrlni_w_d (__m256i_op0, __m256i_op1, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrlni_wu_d (__m256i_op0, __m256i_op1, 0x35);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000598;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000598;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000002cc0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000002cc0000;
+  __m256i_out = __lasx_xvssrlni_d_q (__m256i_op0, __m256i_op1, 0x31);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff81001dff9dff9e;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff81001dff9d003b;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff81001dff9dff9e;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff81001dff9d003b;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0002000200010002;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0002000200010002;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0002000200010002;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0002000200010002;
+  *((unsigned long *)&__m256i_result[3]) = 0x7f1d7f7f7f1d7f3b;
+  *((unsigned long *)&__m256i_result[2]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_result[1]) = 0x7f1d7f7f7f1d7f3b;
+  *((unsigned long *)&__m256i_result[0]) = 0x0202010202020102;
+  __m256i_out = __lasx_xvssrlni_b_h (__m256i_op0, __m256i_op1, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000dfffffff1;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000cfffffff3;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000dfffffff1;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000cfffffff3;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00003f3f00003f3f;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00003f3f00003f3f;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrlni_b_h (__m256i_op0, __m256i_op1, 0xa);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000001;
+  *((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_xvssrlni_hu_w (__m256i_op0, __m256i_op1, 0x15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x4000c08000000080;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000080c000c080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x4000c08000000080;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000080c000c080;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000200000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000004000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000200000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000004000;
+  __m256i_out = __lasx_xvssrlni_w_d (__m256i_op0, __m256i_op1, 0x31);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000010006d;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000010006d;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000004000000080;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000004000000080;
+  __m256i_out = __lasx_xvssrlni_w_d (__m256i_op0, __m256i_op1, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000118;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000118;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrlni_w_d (__m256i_op0, __m256i_op1, 0x2e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_w_d (__m256i_op0, __m256i_op1, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x007efffefffefffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff80fffffffffffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x007efffefffefffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff80fffffffffffe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrlni_hu_w (__m256i_op0, __m256i_op1, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000101;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000101;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+  *((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_xvssrlni_bu_h (__m256i_op0, __m256i_op1, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000e3ab0001352b;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000e3ab0001352b;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000038ea4d4a;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff00007fff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000038ea4d4a;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff00007fff0000;
+  __m256i_out = __lasx_xvssrlni_h_w (__m256i_op0, __m256i_op1, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000000010000005e;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000010000005e;
+  *((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_xvssrlni_bu_h (__m256i_op0, __m256i_op1, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000010000005e;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000a400ff004f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000010000005e;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000a400ff004f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000010000005e;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000a400ff004f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000010000005e;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000a400ff004f;
+  *((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_xvssrlni_d_q (__m256i_op0, __m256i_op1, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_b_h (__m256i_op0, __m256i_op1, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x001fffffffe00011;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x001fffffffe00011;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrlni_d_q (__m256i_op0, __m256i_op1, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlni_hu_w (__m256i_op0, __m256i_op1, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlrn.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlrn.c
new file mode 100644
index 00000000000..977061097e9
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlrn.c
@@ -0,0 +1,815 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x1515151515151515;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1515151515151515;
+  *((unsigned long *)&__m256i_op0[1]) = 0x1515151515151515;
+  *((unsigned long *)&__m256i_op0[0]) = 0x1515151515151515;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff7fff7fff;
+  __m256i_out = __lasx_xvssrlrn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrn_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrlrn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xf800f800f800c000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xf800f800f800a000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xf800f800f800e000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xf800f800f800e000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xf800f800f800c000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xf800f800f800a000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xf800f800f800e000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xf800f800f800e000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff7fff7fff;
+  __m256i_out = __lasx_xvssrlrn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfffffefefffffefe;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffefefffffcfa;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffefefffffefe;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffefefffffefe;
+  *((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_xvssrlrn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x5555555536aaaaac;
+  *((unsigned long *)&__m256i_op1[2]) = 0x55555555aaaaaaac;
+  *((unsigned long *)&__m256i_op1[1]) = 0x5555555536aaaaac;
+  *((unsigned long *)&__m256i_op1[0]) = 0x55555555aaaaaaac;
+  *((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_xvssrlrn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffc0000fffc0000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffc0000fffc0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffc0000fffc0000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffc0000fffc0000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0002000200020002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0002000200020002;
+  __m256i_out = __lasx_xvssrlrn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfff9fff9fff9fff9;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfff90000fff9fff9;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfff9fff9fff9fff9;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfff90000fff9fff9;
+  *((unsigned long *)&__m256i_op1[3]) = 0x108659e46485f7e1;
+  *((unsigned long *)&__m256i_op1[2]) = 0x4df5b1a3ed5e02c1;
+  *((unsigned long *)&__m256i_op1[1]) = 0x108659e46485f7e1;
+  *((unsigned long *)&__m256i_op1[0]) = 0x4df5b1a3ed5e02c1;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffff0004ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffff0004ff;
+  __m256i_out = __lasx_xvssrlrn_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7ff0000000000000;
+  *((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_xvssrlrn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000005be55bd2;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xbabababababababa;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xbabababababababa;
+  *((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_xvssrlrn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffef;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000010;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffef;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000010;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffefffe00000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffefffefffefffd;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0404ffff00000010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0404040800000010;
+  __m256i_out = __lasx_xvssrlrn_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x007f00f8ff7fff80;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000fff6a9d8;
+  *((unsigned long *)&__m256i_op1[1]) = 0x007f00f8ff7fff80;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000fff6a9d8;
+  *((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_xvssrlrn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000002a54290;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000002a54290;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_xvssrlrn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000001900000019;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000001900000019;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000001900000019;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000001900000019;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000001b0000001b;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000001b00fd0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000001b0000001b;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000001b00fd0000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000019;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000019;
+  __m256i_out = __lasx_xvssrlrn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000070700000707;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000009091b1b1212;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000070700000707;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000009091b1b1212;
+  *((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_xvssrlrn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00000000027d00f8;
+  *((unsigned long *)&__m256i_op1[2]) = 0x040204660265fe22;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000027d00f8;
+  *((unsigned long *)&__m256i_op1[0]) = 0x040204660265fe22;
+  *((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_xvssrlrn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xe273e273e273e273;
+  *((unsigned long *)&__m256i_op0[2]) = 0xe273e273e273e273;
+  *((unsigned long *)&__m256i_op0[1]) = 0xe273e273e273e273;
+  *((unsigned long *)&__m256i_op0[0]) = 0xe273e273e273e273;
+  *((unsigned long *)&__m256i_op1[3]) = 0xd207e90001fb16ef;
+  *((unsigned long *)&__m256i_op1[2]) = 0xc8eab25698f97e90;
+  *((unsigned long *)&__m256i_op1[1]) = 0xd207e90001fb16ef;
+  *((unsigned long *)&__m256i_op1[0]) = 0xc8eab25698f97e90;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001c4e8ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001c4e8ffffffff;
+  __m256i_out = __lasx_xvssrlrn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffff0000ff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffff0000ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00007f0200007f02;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00007f0200007f02;
+  __m256i_out = __lasx_xvssrlrn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0097011900f4009f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x003200d4010f0144;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0097011900f301cd;
+  *((unsigned long *)&__m256i_op0[0]) = 0x010b008800f80153;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssrlrn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ff810011;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ff810011;
+  *((unsigned long *)&__m256i_op1[3]) = 0x3fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x3fff8000ffa08004;
+  *((unsigned long *)&__m256i_op1[1]) = 0x3fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x3fff8000ffa08004;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff01;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ff01;
+  __m256i_out = __lasx_xvssrlrn_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000fc38fc38;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfc00000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000fc38fc38;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfc00000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xff00ff0000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffbfffa0ffffff80;
+  *((unsigned long *)&__m256i_op1[1]) = 0xff00ff0000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffbfffa0ffffff80;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff02000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff02000000;
+  __m256i_out = __lasx_xvssrlrn_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xa1a1a1a1a1a1a1a1;
+  *((unsigned long *)&__m256i_op0[2]) = 0xa1a1a1a15e5e5e5e;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa1a1a1a1a1a1a1a1;
+  *((unsigned long *)&__m256i_op0[0]) = 0xa1a1a1a15e5e5e5e;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7f7f7f7f7f7f7f7f;
+  __m256i_out = __lasx_xvssrlrn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000457db03e;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff457db03f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000457db03e;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff457db03f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00020001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00020001;
+  __m256i_out = __lasx_xvssrlrn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvssrlrn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000000007f7f7f80;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000007f7f7f80;
+  *((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_xvssrlrn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrn_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000080;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000007f007f007f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000007f007f007f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000002;
+  __m256i_out = __lasx_xvssrlrn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00ff0000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00ff0000ffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000ff00000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00ffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000ff00000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00ffffffffffffff;
+  *((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_xvssrlrn_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x4000c08000000080;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000080c000c080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x4000c08000000080;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000080c000c080;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000800080008000;
+  *((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_xvssrlrn_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000100010;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000100010;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000101000001010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000101000001010;
+  __m256i_out = __lasx_xvssrlrn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000001010101;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000404;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000001010101;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000404;
+  *((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_xvssrlrn_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000020;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000020;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000ff88ffc0;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ff78ffc0;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ff88ffc0;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ff78ffc0;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000002000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000002000000000;
+  __m256i_out = __lasx_xvssrlrn_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0001000100800000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007fff7fff;
+  __m256i_out = __lasx_xvssrlrn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000200a000020020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000200a000020020;
+  __m256i_out = __lasx_xvssrlrn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrn_bu_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff1cff1cff1c3fc7;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff1cff1cff1cff1c;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff1cff1cff1c3fc7;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff1cff1cff1cff1c;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000200000002;
+  __m256i_out = __lasx_xvssrlrn_w_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000100;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000100;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0002000200000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0002000200000000;
+  __m256i_out = __lasx_xvssrlrn_h_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000017f7f7f7f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000017f7f7f7f;
+  __m256i_out = __lasx_xvssrlrn_b_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrlrn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000007ffffffce;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000007ffffffce;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrlrn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000020000000200;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000020000000200;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000020000000200;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000020000000200;
+  *((unsigned long *)&__m256i_op1[3]) = 0xf5fffc00fc000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xf5fffc00fc000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xf5fffc00fc000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xf5fffc00fc000000;
+  *((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_xvssrlrn_wu_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xf5fffc00fc000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xf5fffc00fc000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0001001900010019;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0a02041904010019;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0001001900010019;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0a02041904010019;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000007b007e;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000007b007e;
+  __m256i_out = __lasx_xvssrlrn_hu_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlrni.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlrni.c
new file mode 100644
index 00000000000..b55e388b1e2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlrni.c
@@ -0,0 +1,1160 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x3133c6409eecf8b0;
+  *((unsigned long *)&__m256i_op0[2]) = 0xddf50db3c617a115;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa432ea5a0913dc8e;
+  *((unsigned long *)&__m256i_op0[0]) = 0x29d403af367b4545;
+  *((unsigned long *)&__m256i_op1[3]) = 0x38a966b31be83ee9;
+  *((unsigned long *)&__m256i_op1[2]) = 0x5f6108dc25b8e028;
+  *((unsigned long *)&__m256i_op1[1]) = 0xf41a56e8a20878d7;
+  *((unsigned long *)&__m256i_op1[0]) = 0x683b8b67e20c8ee5;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvssrlrni_wu_d (__m256i_op0, __m256i_op1, 0xa);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7ffffffffffff7ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffe06df0d7;
+  *((unsigned long *)&__m256i_op0[1]) = 0x988eb37e000fb33d;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffed95be394b1e;
+  *((unsigned long *)&__m256i_op1[3]) = 0x8000ffff8000ffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x06f880008000ffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x800080008000b8f1;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvssrlrni_wu_d (__m256i_op0, __m256i_op1, 0x10);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ff00ff00;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ff00ff00;
+  __m256i_out = __lasx_xvssrlrni_bu_h (__m256i_op0, __m256i_op1, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000040100000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000040100000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000040100000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000040100000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0080200000802000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0080200000802000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvssrlrni_wu_d (__m256i_op0, __m256i_op1, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000f18080010000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000f18080010000;
+  *((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;
+  *((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_xvssrlrni_w_d (__m256i_op0, __m256i_op1, 0x3b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrlrni_d_q (__m256i_op0, __m256i_op1, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_w_d (__m256i_op0, __m256i_op1, 0x28);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000808080;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000808;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrlrni_du_q (__m256i_op0, __m256i_op1, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffefffffefc;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000010;
+  __m256i_out = __lasx_xvssrlrni_d_q (__m256i_op0, __m256i_op1, 0x7c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000020afefb1;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7f350104f7ebffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000003fffc1;
+  *((unsigned long *)&__m256i_op1[0]) = 0x005c0003fff9ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000fe6a021;
+  *((unsigned long *)&__m256i_result[1]) = 0x2000000020000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000b8000;
+  __m256i_out = __lasx_xvssrlrni_wu_d (__m256i_op0, __m256i_op1, 0x23);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x7f8000007f800000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7f8000007f800000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7f8000007f800000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7f8000007f800000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff7fff7fff;
+  __m256i_out = __lasx_xvssrlrni_h_w (__m256i_op0, __m256i_op1, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000020001;
+  *((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_xvssrlrni_b_h (__m256i_op0, __m256i_op1, 0xe);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_wu_d (__m256i_op0, __m256i_op1, 0x2e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff7fff7fff;
+  __m256i_out = __lasx_xvssrlrni_h_w (__m256i_op0, __m256i_op1, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0020000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0020000000000000;
+  __m256i_out = __lasx_xvssrlrni_d_q (__m256i_op0, __m256i_op1, 0x4b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_wu_d (__m256i_op0, __m256i_op1, 0x25);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000008000000080;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000008000000080;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrlrni_wu_d (__m256i_op0, __m256i_op1, 0x33);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000100000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrlrni_du_q (__m256i_op0, __m256i_op1, 0x2c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000002020000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000201eff0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000002020000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000001fef010;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffefffe00000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffefffefffefffd;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0010000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0010001000000000;
+  __m256i_out = __lasx_xvssrlrni_h_w (__m256i_op0, __m256i_op1, 0x1c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffefffe00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffefffefffefffd;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffefffe00000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffefffefffefffd;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fff000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fff7fff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff00000000;
+  __m256i_out = __lasx_xvssrlrni_h_w (__m256i_op0, __m256i_op1, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrlrni_du_q (__m256i_op0, __m256i_op1, 0x29);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0e0f1192846ff912;
+  *((unsigned long *)&__m256i_op0[2]) = 0x002a0074666a4db9;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0e0f1192846ff912;
+  *((unsigned long *)&__m256i_op0[0]) = 0x002a0074666a4db9;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000018;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000018;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fff7fff05407fff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fff7fff05407fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrlrni_h_w (__m256i_op0, __m256i_op1, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000001900000019;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000001900000019;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000001900000019;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000001900000019;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000007fff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000007fff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0408040800000004;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0408040800000004;
+  __m256i_out = __lasx_xvssrlrni_bu_h (__m256i_op0, __m256i_op1, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvssrlrni_wu_d (__m256i_op0, __m256i_op1, 0xa);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x07efefefefefefee;
+  *((unsigned long *)&__m256i_op1[2]) = 0x07efefefefefefee;
+  *((unsigned long *)&__m256i_op1[1]) = 0x07efefefefefefee;
+  *((unsigned long *)&__m256i_op1[0]) = 0x07efefefefefefee;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000001fbfbfc;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000001fbfbfc;
+  __m256i_out = __lasx_xvssrlrni_du_q (__m256i_op0, __m256i_op1, 0x62);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000fe01020b0001;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000fe01020b0001;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvssrlrni_du_q (__m256i_op0, __m256i_op1, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_bu_h (__m256i_op0, __m256i_op1, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrlrni_b_h (__m256i_op0, __m256i_op1, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_op0[2]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_op0[1]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_op0[0]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_op1[3]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op1[2]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op1[1]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op1[0]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000202020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000404040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000202020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000404040;
+  __m256i_out = __lasx_xvssrlrni_du_q (__m256i_op0, __m256i_op1, 0x68);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_b_h (__m256i_op0, __m256i_op1, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x003f003f003f003f;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x003f003f003f003f;
+  *((unsigned long *)&__m256i_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_xvssrlrni_h_w (__m256i_op0, __m256i_op1, 0x1e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000010486048c;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000010486048c;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrlrni_d_q (__m256i_op0, __m256i_op1, 0x6f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfe7fffecfe7fffec;
+  *((unsigned long *)&__m256i_op1[2]) = 0xff800000ff800000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfe7fffecfe7fffec;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff80000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0808080808000800;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0808080808000000;
+  __m256i_out = __lasx_xvssrlrni_bu_h (__m256i_op0, __m256i_op1, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff000c0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff00040000;
+  *((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_xvssrlrni_b_h (__m256i_op0, __m256i_op1, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xd010101010101010;
+  *((unsigned long *)&__m256i_op0[2]) = 0xd010101010103218;
+  *((unsigned long *)&__m256i_op0[1]) = 0xd010101010101010;
+  *((unsigned long *)&__m256i_op0[0]) = 0xd010101010103218;
+  *((unsigned long *)&__m256i_op1[3]) = 0xd010101010101010;
+  *((unsigned long *)&__m256i_op1[2]) = 0xd010101010103218;
+  *((unsigned long *)&__m256i_op1[1]) = 0xd010101010101010;
+  *((unsigned long *)&__m256i_op1[0]) = 0xd010101010103218;
+  *((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_xvssrlrni_w_d (__m256i_op0, __m256i_op1, 0x1c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000001ff8000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffe0000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000001ff8000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffe0000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrlrni_w_d (__m256i_op0, __m256i_op1, 0x3f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0020000000200000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0020000000200000;
+  __m256i_out = __lasx_xvssrlrni_wu_d (__m256i_op0, __m256i_op1, 0x2b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xbc30c40108a45423;
+  *((unsigned long *)&__m256i_op1[2]) = 0xbc263e0e5d00e69f;
+  *((unsigned long *)&__m256i_op1[1]) = 0xbc30c40108a4544b;
+  *((unsigned long *)&__m256i_op1[0]) = 0xbc20e63aa8b9663f;
+  *((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_xvssrlrni_hu_w (__m256i_op0, __m256i_op1, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0504080804030405;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0504060904040305;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0504080804030405;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0504060904040305;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000141020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000141020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrlrni_d_q (__m256i_op0, __m256i_op1, 0x66);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffe00000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffe00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000080000000800;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000080000000800;
+  __m256i_out = __lasx_xvssrlrni_w_d (__m256i_op0, __m256i_op1, 0x35);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000010101010;
+  *((unsigned long *)&__m256i_result[2]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000010101010;
+  *((unsigned long *)&__m256i_result[0]) = 0x1010101010101010;
+  __m256i_out = __lasx_xvssrlrni_b_h (__m256i_op0, __m256i_op1, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrlrni_b_h (__m256i_op0, __m256i_op1, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0020002000200020;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0020000000200000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0020002000200020;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x1010101010001000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x1010101000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000ff000000ff;
+  __m256i_out = __lasx_xvssrlrni_bu_h (__m256i_op0, __m256i_op1, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fff800000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fff800000000000;
+  *((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;
+  *((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_xvssrlrni_du_q (__m256i_op0, __m256i_op1, 0x27);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_bu_h (__m256i_op0, __m256i_op1, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000465;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000465;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000008d00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000008d00000000;
+  __m256i_out = __lasx_xvssrlrni_bu_h (__m256i_op0, __m256i_op1, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_wu_d (__m256i_op0, __m256i_op1, 0x2d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+  *((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_xvssrlrni_b_h (__m256i_op0, __m256i_op1, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_du_q (__m256i_op0, __m256i_op1, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff8000ffa3;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000007fe70000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff8000ffa3;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000007fe70000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xc03ae000ffff6000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xc600000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xc03ae000ffff6000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xc600000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000003;
+  __m256i_out = __lasx_xvssrlrni_d_q (__m256i_op0, __m256i_op1, 0x7e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_b_h (__m256i_op0, __m256i_op1, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfff10000fff10000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfff10000fff10000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000001ffe2000;
+  *((unsigned long *)&__m256i_result[2]) = 0x001fe020001fe020;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000001ffe2000;
+  *((unsigned long *)&__m256i_result[0]) = 0x001fe020001fe020;
+  __m256i_out = __lasx_xvssrlrni_wu_d (__m256i_op0, __m256i_op1, 0x23);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_wu_d (__m256i_op0, __m256i_op1, 0x15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_hu_w (__m256i_op0, __m256i_op1, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000002000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000002000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrlrni_w_d (__m256i_op0, __m256i_op1, 0x38);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_h_w (__m256i_op0, __m256i_op1, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000004;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000004;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000004;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000004;
+  __m256i_out = __lasx_xvssrlrni_d_q (__m256i_op0, __m256i_op1, 0x7e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_d_q (__m256i_op0, __m256i_op1, 0x1b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000e0000000e;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000e0000000e;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000e0000000e;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000e0000000e;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0007000700070007;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0007000700070007;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvssrlrni_bu_h (__m256i_op0, __m256i_op1, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_hu_w (__m256i_op0, __m256i_op1, 0x17);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x007f010100000101;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x007f010100000101;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000200000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000004000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000200000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000004000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0008000000000010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0008000000000010;
+  __m256i_out = __lasx_xvssrlrni_b_h (__m256i_op0, __m256i_op1, 0xa);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_wu_d (__m256i_op0, __m256i_op1, 0x1e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfefefefe3f800000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfefefefe3f800000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007fff7fff;
+  __m256i_out = __lasx_xvssrlrni_h_w (__m256i_op0, __m256i_op1, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000007f0000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000007f0000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvssrlrni_b_h (__m256i_op0, __m256i_op1, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000008002d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000008002d;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000007f0000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000007f0000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000010000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000010000000000;
+  __m256i_out = __lasx_xvssrlrni_bu_h (__m256i_op0, __m256i_op1, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fffffffffffbfff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x3f7f7f7f407fffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x3f7f7f7f407fffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000fdfdfe;
+  __m256i_out = __lasx_xvssrlrni_d_q (__m256i_op0, __m256i_op1, 0x27);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x07ffffff07ffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x07ffffff08000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x07ffffff08000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x207f207f207f2000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000207f2000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7f7f7f7f7f7f7f7f;
+  __m256i_out = __lasx_xvssrlrni_b_h (__m256i_op0, __m256i_op1, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffeb68380002001;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffe97c08000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffeb68380002001;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffe97c08000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000007fff5b41c0;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000007fff5b41d0;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000007fff5b41c0;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000007fff5b41d0;
+  __m256i_out = __lasx_xvssrlrni_d_q (__m256i_op0, __m256i_op1, 0x59);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000001000000010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000001000000010;
+  __m256i_out = __lasx_xvssrlrni_w_d (__m256i_op0, __m256i_op1, 0x3c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff97a2;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffff97a2;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000001010000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000001010000;
+  *((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_xvssrlrni_d_q (__m256i_op0, __m256i_op1, 0x3f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00c00040;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000008000000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00c00040;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000008000000001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvssrlrni_bu_h (__m256i_op0, __m256i_op1, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0002000200000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0002000200000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000020002000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000020002000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvssrlrni_wu_d (__m256i_op0, __m256i_op1, 0x14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_b_h (__m256i_op0, __m256i_op1, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffff010100000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffff010100000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000008000000080;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000008000000080;
+  __m256i_out = __lasx_xvssrlrni_wu_d (__m256i_op0, __m256i_op1, 0x39);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvssrlrni_hu_w (__m256i_op0, __m256i_op1, 0x19);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_result[2]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_result[1]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_result[0]) = 0x7f7f7f7f7f7f7f7f;
+  __m256i_out = __lasx_xvssrlrni_b_h (__m256i_op0, __m256i_op1, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
-- 
2.20.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v4 11/22] LoongArch: Add tests for ASX vector xvbitclr/xvbitclri/xvbitrev/xvbitrevi/ xvbitsel/xvbitseli/xvbitset/xvbitseti/xvclo/xvclz/xvpcnt instructions.
  2023-09-13  3:40 [PATCH v4 10/22] LoongArch: Add tests for ASX vector xvssran/xvssrani/xvssrarn/xvssrarni/xvssrln/ xvssrlni/xvssrlrn/xvssrlrni instructions Xiaolong Chen
@ 2023-09-13  3:40 ` Xiaolong Chen
  2023-09-13  3:40 ` [PATCH v4 12/22] LoongArch: Add tests for ASX builtin functions Xiaolong Chen
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Xiaolong Chen @ 2023-09-13  3:40 UTC (permalink / raw)
  To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen

gcc/testsuite/ChangeLog:

	* gcc.target/loongarch/vector/lasx/lasx-xvbitclr.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvbitclri.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvbitrev.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvbitrevi.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvbitsel.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvbitseli.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvbitset.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvbitseti.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvclo.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvclz.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvpcnt.c: New test.
---
 .../loongarch/vector/lasx/lasx-xvbitclr.c     | 635 +++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvbitclri.c    | 515 ++++++++++++++
 .../loongarch/vector/lasx/lasx-xvbitrev.c     | 650 ++++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvbitrevi.c    | 317 +++++++++
 .../loongarch/vector/lasx/lasx-xvbitsel.c     | 134 ++++
 .../loongarch/vector/lasx/lasx-xvbitseli.c    | 185 +++++
 .../loongarch/vector/lasx/lasx-xvbitset.c     | 620 +++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvbitseti.c    | 405 +++++++++++
 .../loongarch/vector/lasx/lasx-xvclo.c        | 449 ++++++++++++
 .../loongarch/vector/lasx/lasx-xvclz.c        | 504 ++++++++++++++
 .../loongarch/vector/lasx/lasx-xvpcnt.c       | 526 ++++++++++++++
 11 files changed, 4940 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitclr.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitclri.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitrev.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitrevi.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitsel.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitseli.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitset.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitseti.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvclo.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvclz.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpcnt.c

diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitclr.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitclr.c
new file mode 100644
index 00000000000..def7b588eec
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitclr.c
@@ -0,0 +1,635 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 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]) = 0x000000040000fff8;
+  *((unsigned long *)&__m256i_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_xvbitclr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitclr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffff1f;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffeff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffff1f;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffeff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000105fffffefb;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffff02000000fe;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000105fffffefb;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffff02000000fe;
+  *((unsigned long *)&__m256i_result[3]) = 0xf7ffffffffffff1f;
+  *((unsigned long *)&__m256i_result[2]) = 0xbffffffffffffeff;
+  *((unsigned long *)&__m256i_result[1]) = 0xf7ffffffffffff1f;
+  *((unsigned long *)&__m256i_result[0]) = 0xbffffffffffffeff;
+  __m256i_out = __lasx_xvbitclr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffefd;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000101;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffffffefd;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000101;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fff7fff7fffdefd;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000101;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff7fff7fff;
+  __m256i_out = __lasx_xvbitclr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitclr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitclr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000f0000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000f0000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x1fe01e0000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x1fe01e0000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000f0000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000f0000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0006000000040000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0002555500000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0006000000040000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0002555500000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0006000000040000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0002555400000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0006000000040000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0002555400000000;
+  __m256i_out = __lasx_xvbitclr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitclr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0001000100010001;
+  *((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_xvbitclr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000002a542a;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000002a542a;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000002a542a;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000002a542a;
+  __m256i_out = __lasx_xvbitclr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitclr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfff3fff3fff3fff3;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfff3fff3fff3fff3;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfff3fff3fff3fff3;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfff3fff3fff3fff3;
+  *((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_xvbitclr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0002000200020002;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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]) = 0x0002000200020002;
+  __m256i_out = __lasx_xvbitclr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ffff00ff00;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000fff00004542;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ffff00ff00;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000fff00004542;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00ff00ffff00ff00;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000fff00004542;
+  *((unsigned long *)&__m256i_result[1]) = 0x00ff00ffff00ff00;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000fff00004542;
+  __m256i_out = __lasx_xvbitclr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff00fe00feff02ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff00fe00feff02ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff00fe00feff02ff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff00fe00feff02ff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000003f0000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000030007;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000003f0000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000030007;
+  *((unsigned long *)&__m256i_result[3]) = 0xff00fe00feff02fe;
+  *((unsigned long *)&__m256i_result[2]) = 0xff00fe00feff027f;
+  *((unsigned long *)&__m256i_result[1]) = 0xff00fe00feff02fe;
+  *((unsigned long *)&__m256i_result[0]) = 0xff00fe00feff027f;
+  __m256i_out = __lasx_xvbitclr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000010000000100;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000010000000100;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000010000000100;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000010000000100;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000023a20000a121;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000179e0000951d;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000023a20000a121;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000179e0000951d;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000010000000100;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000010000000100;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000010000000100;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000010000000100;
+  __m256i_out = __lasx_xvbitclr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000236200005111;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000175e0000490d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000236200005111;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000175e0000490d;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffeeffaf;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000011;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffeeffaf;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000011;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000226200005111;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000165e0000480d;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000226200005111;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000165e0000480d;
+  __m256i_out = __lasx_xvbitclr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000007fef;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000007fef;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000007fef;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000007fef;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000007fee;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000007fee;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000007fee;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000007fee;
+  __m256i_out = __lasx_xvbitclr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitclr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000008000;
+  *((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_xvbitclr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffffffff7;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffff7;
+  *((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_xvbitclr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffff00;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffff00;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000fefe7f00;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000fefe7f00;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x1f001f00000007ef;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00001fff200007ef;
+  *((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_xvbitclr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff00000000;
+  __m256i_out = __lasx_xvbitclr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitclr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000f90;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000f90;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffefffe00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffefffe00000000;
+  __m256i_out = __lasx_xvbitclr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff8000ffa3;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000007fe70000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff8000ffa3;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000007fe70000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff8000ffa3;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000007fe70000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff8000ffa3;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000007fe70000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00007f7f80007fa3;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007f670000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00007f7f80007fa3;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007f670000;
+  __m256i_out = __lasx_xvbitclr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitclr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffeffff10000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffeffff10000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x7ffffffffffffffe;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x7ffffffffffffffe;
+  __m256i_out = __lasx_xvbitclr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x3f8000003f800000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x3f8000003f800000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x3f8000003f800000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x3f8000003f800000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x3e8000003e800000;
+  *((unsigned long *)&__m256i_result[2]) = 0x3e8000003e800000;
+  *((unsigned long *)&__m256i_result[1]) = 0x3e8000003e800000;
+  *((unsigned long *)&__m256i_result[0]) = 0x3e8000003e800000;
+  __m256i_out = __lasx_xvbitclr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00001ff8d8d8c000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00001ff8d8d90000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00001ff8d8d8c000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00001ff8d8d90000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00001ef8d8d8c000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00001ef8d8d80000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00001ef8d8d8c000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00001ef8d8d80000;
+  __m256i_out = __lasx_xvbitclr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000000d;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000000d;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000fffe0000000c;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000010000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000fffe0000000c;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000010000;
+  __m256i_out = __lasx_xvbitclr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((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_xvbitclr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffe00000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffe00000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000ff800000ff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000ff800000ff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000ff800000ff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000ff800000ff;
+  *((unsigned long *)&__m256i_result[3]) = 0xfefee00000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xfefee00000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000fff000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000fff000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000fff000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000fff000000000;
+  __m256i_out = __lasx_xvbitclr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000ffff88ff88;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000ffff88ff88;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000ffff88ff88;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000ffff88ff88;
+  __m256i_out = __lasx_xvbitclr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256i_result[2]) = 0xff00ff007f007f00;
+  *((unsigned long *)&__m256i_result[1]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256i_result[0]) = 0xff00ff007f007f00;
+  __m256i_out = __lasx_xvbitclr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000040;
+  *((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_xvbitclr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x1c1c1c1c1c1c1c1c;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffff00;
+  *((unsigned long *)&__m256i_op0[1]) = 0x1c1c1c1c1c1c1c1c;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffff00;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x1c1c1c1c1c1c1c1c;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffeffffff00;
+  *((unsigned long *)&__m256i_result[1]) = 0x1c1c1c1c1c1c1c1c;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffeffffff00;
+  __m256i_out = __lasx_xvbitclr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitclri.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitclri.c
new file mode 100644
index 00000000000..713eb19d56d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitclri.c
@@ -0,0 +1,515 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffe06df8d7;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffbe8b470f;
+  *((unsigned long *)&__m256i_result[3]) = 0x7ffffffffffff7ff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffe06df0d7;
+  *((unsigned long *)&__m256i_result[1]) = 0x7ffffffffffff7ff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffbe8b470f;
+  __m256i_out = __lasx_xvbitclri_d (__m256i_op0, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_h (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_b (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0010ffc80010ff52;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfff1ffca0011ffcb;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0010ffc80010ff52;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfff1ffca0011ffcb;
+  *((unsigned long *)&__m256i_result[3]) = 0x0010bfc80010bf52;
+  *((unsigned long *)&__m256i_result[2]) = 0xfff1bfca0011bfcb;
+  *((unsigned long *)&__m256i_result[1]) = 0x0010bfc80010bf52;
+  *((unsigned long *)&__m256i_result[0]) = 0xfff1bfca0011bfcb;
+  __m256i_out = __lasx_xvbitclri_w (__m256i_op0, 0xe);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_w (__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_w (__m256i_op0, 0x1f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_d (__m256i_op0, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000005536aaaaac;
+  *((unsigned long *)&__m256i_op0[2]) = 0x55555555aaaaaaac;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000005536aaaaac;
+  *((unsigned long *)&__m256i_op0[0]) = 0x55555555aaaaaaac;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000005136aaaaa8;
+  *((unsigned long *)&__m256i_result[2]) = 0x55515551aaaaaaa8;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000005136aaaaa8;
+  *((unsigned long *)&__m256i_result[0]) = 0x55515551aaaaaaa8;
+  __m256i_out = __lasx_xvbitclri_h (__m256i_op0, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_result[3]) = 0x7fdf000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fdf000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fdf7fff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fdf7fff00000000;
+  __m256i_out = __lasx_xvbitclri_d (__m256i_op0, 0x35);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000fd0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000fd0000;
+  __m256i_out = __lasx_xvbitclri_w (__m256i_op0, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7ffe7ffe7ffe7ffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000007ffe7ffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7ffe7ffe7ffe8000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000807e7ffe;
+  *((unsigned long *)&__m256i_result[3]) = 0x7f7e7f7e7f7e7f7e;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007f7e7f7e;
+  *((unsigned long *)&__m256i_result[1]) = 0x7f7e7f7e7f7e0000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000007e7f7e;
+  __m256i_out = __lasx_xvbitclri_b (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_h (__m256i_op0, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_d (__m256i_op0, 0x24);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_h (__m256i_op0, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_h (__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xdf01010153a10101;
+  *((unsigned long *)&__m256i_op0[2]) = 0x5b7f01ff5b7f10ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xdf01010153a10101;
+  *((unsigned long *)&__m256i_op0[0]) = 0x5b7f01ff5b7f10ff;
+  *((unsigned long *)&__m256i_result[3]) = 0xcf01010143a10101;
+  *((unsigned long *)&__m256i_result[2]) = 0x4b6f01ef4b6f00ef;
+  *((unsigned long *)&__m256i_result[1]) = 0xcf01010143a10101;
+  *((unsigned long *)&__m256i_result[0]) = 0x4b6f01ef4b6f00ef;
+  __m256i_out = __lasx_xvbitclri_b (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xdfffffffdfffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xdfffffffdfffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
+  __m256i_out = __lasx_xvbitclri_w (__m256i_op0, 0x1d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_b (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_w (__m256i_op0, 0x1e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff02ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffff0100;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff00fe00feff02ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ff7fff7f;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ff7f027f;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ff7f0100;
+  *((unsigned long *)&__m256i_result[0]) = 0xff00fe00fe7f027f;
+  __m256i_out = __lasx_xvbitclri_h (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8011ffee804c004c;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00faff0500c3ff3c;
+  *((unsigned long *)&__m256i_op0[1]) = 0x80f900f980780078;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0057ffa800ceff31;
+  *((unsigned long *)&__m256i_result[3]) = 0x8011ffae800c000c;
+  *((unsigned long *)&__m256i_result[2]) = 0x00baff050083ff3c;
+  *((unsigned long *)&__m256i_result[1]) = 0x80b900b980380038;
+  *((unsigned long *)&__m256i_result[0]) = 0x0017ffa8008eff31;
+  __m256i_out = __lasx_xvbitclri_h (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_d (__m256i_op0, 0x3b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000027262524;
+  *((unsigned long *)&__m256i_op0[2]) = 0x232221201f1e1d1c;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000027262524;
+  *((unsigned long *)&__m256i_op0[0]) = 0x232221201f1e1d1c;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000027262524;
+  *((unsigned long *)&__m256i_result[2]) = 0x23222120171e151c;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000027262524;
+  *((unsigned long *)&__m256i_result[0]) = 0x23222120171e151c;
+  __m256i_out = __lasx_xvbitclri_h (__m256i_op0, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_d (__m256i_op0, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+  *((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_xvbitclri_b (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00ff00fe00ff00fe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00ff00fe00ff00fe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000fefe0000fefe;
+  *((unsigned long *)&__m256i_result[2]) = 0x00fe00fe00fe00fe;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000fefe0000fefe;
+  *((unsigned long *)&__m256i_result[0]) = 0x00fe00fe00fe00fe;
+  __m256i_out = __lasx_xvbitclri_b (__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_h (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000009;
+  __m256i_out = __lasx_xvbitclri_d (__m256i_op0, 0x26);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_h (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_b (__m256i_op0, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x01ff0020ff1f001f;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffe1ffe0ffe1ffe0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x01ff0020ff1f001f;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffe1ffe0ffe1ffe0;
+  *((unsigned long *)&__m256i_result[3]) = 0x01ff0020ff1f001f;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fe1ffe0ffe1ffe0;
+  *((unsigned long *)&__m256i_result[1]) = 0x01ff0020ff1f001f;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fe1ffe0ffe1ffe0;
+  __m256i_out = __lasx_xvbitclri_d (__m256i_op0, 0x3f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_h (__m256i_op0, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_d (__m256i_op0, 0x16);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffbfffffffb;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000fffffffb;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffbfffffffb;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000fffffffb;
+  __m256i_out = __lasx_xvbitclri_w (__m256i_op0, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_w (__m256i_op0, 0x1d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000800200027;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000800200028;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000800200027;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000800200028;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000800200027;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000800200028;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000800200027;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000800200028;
+  __m256i_out = __lasx_xvbitclri_w (__m256i_op0, 0x1e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_b (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffee00ba;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffee00ba;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xefefefefefee00aa;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xefefefefefee00aa;
+  __m256i_out = __lasx_xvbitclri_b (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000100010;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000100010;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000100010;
+  *((unsigned long *)&__m256i_result[2]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000100010;
+  *((unsigned long *)&__m256i_result[0]) = 0x0010001000100010;
+  __m256i_out = __lasx_xvbitclri_w (__m256i_op0, 0x17);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ff88ff88;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ff88ff88;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000f788f788;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000f788f788;
+  __m256i_out = __lasx_xvbitclri_h (__m256i_op0, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_w (__m256i_op0, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_b (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_b (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitclri_w (__m256i_op0, 0x1d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffefffefffefffe;
+  __m256i_out = __lasx_xvbitclri_h (__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitrev.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitrev.c
new file mode 100644
index 00000000000..2b0e7f8d1de
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitrev.c
@@ -0,0 +1,650 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0501030102141923;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffd5020738b43ddb;
+  *((unsigned long *)&__m256i_op0[1]) = 0x010200023b8e4174;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfff4ff4e11410b40;
+  *((unsigned long *)&__m256i_op1[3]) = 0x01fa022a01a401e5;
+  *((unsigned long *)&__m256i_op1[2]) = 0x030d03aa0079029b;
+  *((unsigned long *)&__m256i_op1[1]) = 0x024c01f901950261;
+  *((unsigned long *)&__m256i_op1[0]) = 0x008102c2008a029f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101070102041903;
+  *((unsigned long *)&__m256i_result[2]) = 0xdfd506073ab435db;
+  *((unsigned long *)&__m256i_result[1]) = 0x110202023bae4176;
+  *((unsigned long *)&__m256i_result[0]) = 0xfff6ff4a15418b40;
+  __m256i_out = __lasx_xvbitrev_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffe0edf8d7;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffbe8bc70f;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffe0edf8d7;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffbe8bc70f;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffe06df8d7;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffbe8b470f;
+  __m256i_out = __lasx_xvbitrev_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffe0;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000001e18;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ffe0;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000001e18;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000000000ffe0;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000001e18;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000000000ffe0;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000001e18;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000010000ffe1;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000101001e18;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000010000ffe1;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000101001e18;
+  __m256i_out = __lasx_xvbitrev_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((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_xvbitrev_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_result[2]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_result[1]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_result[0]) = 0xfefefefefefefefe;
+  __m256i_out = __lasx_xvbitrev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x1c1b1a191c1b1a19;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1c1b1a191c1b1a19;
+  *((unsigned long *)&__m256i_op0[1]) = 0x1c1b1a191c1b1a19;
+  *((unsigned long *)&__m256i_op0[0]) = 0x1c1b1a191c1b1a19;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x1d1a1b181d1a1b18;
+  *((unsigned long *)&__m256i_result[2]) = 0x9c9b9a999c9b9a99;
+  *((unsigned long *)&__m256i_result[1]) = 0x1d1a1b181d1a1b18;
+  *((unsigned long *)&__m256i_result[0]) = 0x9c9b9a999c9b9a99;
+  __m256i_out = __lasx_xvbitrev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000001010101;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000001010101;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010100000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010100000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvbitrev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000033e87ef1;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000002e2100;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[2]) = 0x80008000b3e8fef1;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[0]) = 0x80008000802ea100;
+  __m256i_out = __lasx_xvbitrev_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x1c80780000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000004000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x1c80780000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000004000;
+  *((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_xvbitrev_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0200000200000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x2c27000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0200000200000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x2c27000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000400000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000400000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+  __m256i_out = __lasx_xvbitrev_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitrev_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvbitrev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000800080008000;
+  __m256i_out = __lasx_xvbitrev_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffff00ff00ffff00;
+  *((unsigned long *)&__m256i_op1[2]) = 0xff000000ff00ff00;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffff00ffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff00000000ff00ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000180000000;
+  __m256i_out = __lasx_xvbitrev_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfff8fff8fff8fff8;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfff8fff8fff8fff8;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[2]) = 0x8001800180018001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[0]) = 0x8001800180018001;
+  __m256i_out = __lasx_xvbitrev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00010003;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0080000200000002;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff00010003;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000200000003;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00010002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0080000200000003;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00010002;
+  __m256i_out = __lasx_xvbitrev_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x80000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x80000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+  __m256i_out = __lasx_xvbitrev_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitrev_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000;
+  __m256i_out = __lasx_xvbitrev_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+  __m256i_out = __lasx_xvbitrev_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitrev_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_op0[2]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_op0[1]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_op0[0]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xf7f7f7f6f7f7f7f6;
+  *((unsigned long *)&__m256i_result[2]) = 0xf7f7f7f6f7f7f7f6;
+  *((unsigned long *)&__m256i_result[1]) = 0xf7f7f7f6f7f7f7f6;
+  *((unsigned long *)&__m256i_result[0]) = 0xf7f7f7f6f7f7f7f6;
+  __m256i_out = __lasx_xvbitrev_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+  __m256i_out = __lasx_xvbitrev_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fefffffffffffff;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x7eeefefefefefefe;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[1]) = 0x7eeefefefefefefe;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvbitrev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000010000fffe;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000010000fffe;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000010000fffe;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000010000fffe;
+  __m256i_out = __lasx_xvbitrev_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitrev_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000004;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000004;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000004;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000004;
+  __m256i_out = __lasx_xvbitrev_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00003fe000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00003fe000000000;
+  *((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_xvbitrev_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000008000b;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000000b;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000008000b;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000000b;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000008000a;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000000a;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000008000a;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000000a;
+  __m256i_out = __lasx_xvbitrev_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000100010001fffe;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000100010001fffe;
+  __m256i_out = __lasx_xvbitrev_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+  __m256i_out = __lasx_xvbitrev_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00fe00fe00fe00fe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00fe00fe00fe00fe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00fe00fe00fe00fe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00fe00fe00fe00fe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00fe00fe00fe00fe;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00fe00fe00fe00fe;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00fe00fe00fe00fe;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00fe00fe00fe00fe;
+  *((unsigned long *)&__m256i_result[3]) = 0x40fe00fe00fe00fe;
+  *((unsigned long *)&__m256i_result[2]) = 0x40fe00fe00fe00fe;
+  *((unsigned long *)&__m256i_result[1]) = 0x40fe00fe00fe00fe;
+  *((unsigned long *)&__m256i_result[0]) = 0x40fe00fe00fe00fe;
+  __m256i_out = __lasx_xvbitrev_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fff80007fff0000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fff80007fff0000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffc0007ffe0002;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000400000018002;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffc0007ffe0002;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000400000018002;
+  __m256i_out = __lasx_xvbitrev_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_result[2]) = 0xfefefefe01010101;
+  *((unsigned long *)&__m256i_result[1]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_result[0]) = 0xfefefefe01010101;
+  __m256i_out = __lasx_xvbitrev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000006d;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000400008;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000006d;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000400008;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000010006d;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000010006d;
+  *((unsigned long *)&__m256i_result[3]) = 0x010101010101016c;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101410128;
+  *((unsigned long *)&__m256i_result[1]) = 0x010101010101016c;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101410128;
+  __m256i_out = __lasx_xvbitrev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7fffffff80000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fffffff80000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x800000ff000000ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x800000ff000000ff;
+  __m256i_out = __lasx_xvbitrev_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffb6811fffff80;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff97c120000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffb6811fffff80;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff97c120000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_op1[2]) = 0x4980008068400000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_op1[0]) = 0x4980008068400000;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffe97c020010001;
+  __m256i_out = __lasx_xvbitrev_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000027;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000027;
+  *((unsigned long *)&__m256i_result[3]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_result[2]) = 0xfefefefefefefe7f;
+  *((unsigned long *)&__m256i_result[1]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_result[0]) = 0xfefefefefefefe7f;
+  __m256i_out = __lasx_xvbitrev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0001000100010003;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001000100010081;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000100010003;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001000100018080;
+  __m256i_out = __lasx_xvbitrev_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvbitrev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000000000000000c;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000000000000c;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010101010110;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010101010110;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvbitrev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+  __m256i_out = __lasx_xvbitrev_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitrevi.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitrevi.c
new file mode 100644
index 00000000000..2b8327d91b0
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitrevi.c
@@ -0,0 +1,317 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x00000000ff00ff00;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ff00ff00;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[2]) = 0x01010101fe01fe01;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[0]) = 0x01010101fe01fe01;
+  __m256i_out = __lasx_xvbitrevi_b (__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x2000200020002000;
+  *((unsigned long *)&__m256i_result[2]) = 0x2000200020002000;
+  *((unsigned long *)&__m256i_result[1]) = 0x2000200020002000;
+  *((unsigned long *)&__m256i_result[0]) = 0x2000200020002000;
+  __m256i_out = __lasx_xvbitrevi_h (__m256i_op0, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvbitrevi_b (__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000800000008;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff7ff77fff7ff7;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000800000008;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff7ff77fff7ff7;
+  __m256i_out = __lasx_xvbitrevi_w (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000020001;
+  *((unsigned long *)&__m256i_result[3]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_result[2]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_result[1]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_result[0]) = 0x1010101010121011;
+  __m256i_out = __lasx_xvbitrevi_b (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+  __m256i_out = __lasx_xvbitrevi_d (__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000004000000040;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000004000000040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000004000000040;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000004000000040;
+  __m256i_out = __lasx_xvbitrevi_w (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[2]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[1]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[0]) = 0x2020202020202020;
+  __m256i_out = __lasx_xvbitrevi_b (__m256i_op0, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000020000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000020000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000020000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000020000000000;
+  __m256i_out = __lasx_xvbitrevi_d (__m256i_op0, 0x29);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvbitrevi_b (__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_result[2]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_result[1]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_result[0]) = 0x4040404040404040;
+  __m256i_out = __lasx_xvbitrevi_b (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0001c4e8ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0001c4e8ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0080000000800000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0081c4e8ff7fffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0080000000800000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0081c4e8ff7fffff;
+  __m256i_out = __lasx_xvbitrevi_w (__m256i_op0, 0x17);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff81ff7d;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff81ff7d;
+  *((unsigned long *)&__m256i_result[3]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_result[2]) = 0x7f7f7f7f7f017ffd;
+  *((unsigned long *)&__m256i_result[1]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_result[0]) = 0x7f7f7f7f7f017ffd;
+  __m256i_out = __lasx_xvbitrevi_b (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x4000000000000000;
+  __m256i_out = __lasx_xvbitrevi_d (__m256i_op0, 0x3e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000002080100;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000002080100;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000008000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000a080100;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000008000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000a080100;
+  __m256i_out = __lasx_xvbitrevi_d (__m256i_op0, 0x1b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0100010001000100;
+  *((unsigned long *)&__m256i_result[2]) = 0x0100010001000100;
+  *((unsigned long *)&__m256i_result[1]) = 0x0100010001000100;
+  *((unsigned long *)&__m256i_result[0]) = 0x0100010001000100;
+  __m256i_out = __lasx_xvbitrevi_h (__m256i_op0, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffe0047d00e00480;
+  *((unsigned long *)&__m256i_op0[2]) = 0x001fc0200060047a;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffe0047d00e00480;
+  *((unsigned long *)&__m256i_op0[0]) = 0x001fc0200060047a;
+  *((unsigned long *)&__m256i_result[3]) = 0xfee1057c01e10581;
+  *((unsigned long *)&__m256i_result[2]) = 0x011ec1210161057b;
+  *((unsigned long *)&__m256i_result[1]) = 0xfee1057c01e10581;
+  *((unsigned long *)&__m256i_result[0]) = 0x011ec1210161057b;
+  __m256i_out = __lasx_xvbitrevi_b (__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xe07de0801f20607a;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xe07de0801f20607a;
+  *((unsigned long *)&__m256i_result[3]) = 0xfdfdfdfdfdfdfdfd;
+  *((unsigned long *)&__m256i_result[2]) = 0xe27fe2821d226278;
+  *((unsigned long *)&__m256i_result[1]) = 0xfdfdfdfdfdfdfdfd;
+  *((unsigned long *)&__m256i_result[0]) = 0xe27fe2821d226278;
+  __m256i_out = __lasx_xvbitrevi_b (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000200000002;
+  __m256i_out = __lasx_xvbitrevi_w (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000800000008;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000800000008;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000800000008;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000800000008;
+  __m256i_out = __lasx_xvbitrevi_w (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000800200027;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000800200028;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000800200027;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000800200028;
+  *((unsigned long *)&__m256i_result[3]) = 0x080808000828082f;
+  *((unsigned long *)&__m256i_result[2]) = 0x0808080008280820;
+  *((unsigned long *)&__m256i_result[1]) = 0x080808000828082f;
+  *((unsigned long *)&__m256i_result[0]) = 0x0808080008280820;
+  __m256i_out = __lasx_xvbitrevi_b (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+  __m256i_out = __lasx_xvbitrevi_h (__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000800000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000800000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000800000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000800000000000;
+  __m256i_out = __lasx_xvbitrevi_d (__m256i_op0, 0x2f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0200000002000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x02000000fdffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0200000002000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x02000000fdffffff;
+  __m256i_out = __lasx_xvbitrevi_w (__m256i_op0, 0x19);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffed;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffed;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffed;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffed;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffeffed;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffeffed;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffeffed;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffeffed;
+  __m256i_out = __lasx_xvbitrevi_d (__m256i_op0, 0x10);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xc039000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xc039000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xc039000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xc039000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xc03b000200020002;
+  *((unsigned long *)&__m256i_result[2]) = 0xc03b000200020002;
+  *((unsigned long *)&__m256i_result[1]) = 0xc03b000200020002;
+  *((unsigned long *)&__m256i_result[0]) = 0xc03b000200020002;
+  __m256i_out = __lasx_xvbitrevi_h (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fff80007fff0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fff80007fff0000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000010000000100;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff81007fff0100;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000010000000100;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff81007fff0100;
+  __m256i_out = __lasx_xvbitrevi_w (__m256i_op0, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitsel.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitsel.c
new file mode 100644
index 00000000000..c9847a6152d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitsel.c
@@ -0,0 +1,134 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0xe9e9e9e9e9e9e9e9;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0xe9e9e9e9e9e9e9e9;
+  *((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_xvbitsel_v (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000001;
+  *((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_xvbitsel_v (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x001f001f001f001f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x001f001f02c442af;
+  *((unsigned long *)&__m256i_op0[1]) = 0x001f001f001f001f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x001f001f02c442af;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00fe01f000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00fe01f000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0xfffffffffefefeff;
+  *((unsigned long *)&__m256i_op2[2]) = 0xffffffffff295329;
+  *((unsigned long *)&__m256i_op2[1]) = 0xfffffffffefefeff;
+  *((unsigned long *)&__m256i_op2[0]) = 0xffffffffff295329;
+  *((unsigned long *)&__m256i_result[3]) = 0x00fe01f000010000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000c40086;
+  *((unsigned long *)&__m256i_result[1]) = 0x00fe01f000010000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000c40086;
+  __m256i_out = __lasx_xvbitsel_v (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_op1[3]) = 0xbe21000100000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000505300000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xbe21000100000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000505300000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x41dfffffffc00000;
+  *((unsigned long *)&__m256i_op2[2]) = 0xc1d75053f0000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x41dfffffffc00000;
+  *((unsigned long *)&__m256i_op2[0]) = 0xc1d75053f0000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0001000100000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00005053000000ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000100000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00005053000000ff;
+  __m256i_out = __lasx_xvbitsel_v (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000040000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000040000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x00000e0000000e00;
+  *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op2[1]) = 0x00000e0000000e00;
+  *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000040000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000040000;
+  __m256i_out = __lasx_xvbitsel_v (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((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_xvbitsel_v (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitseli.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitseli.c
new file mode 100644
index 00000000000..1edb4fca251
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitseli.c
@@ -0,0 +1,185 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 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;
+  *((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_xvbitseli_b (__m256i_op0, __m256i_op1, 0x3a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00000000000004fb;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000004fb;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitseli_b (__m256i_op0, __m256i_op1, 0xef);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitseli_b (__m256i_op0, __m256i_op1, 0xcd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffd10000006459;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000441000000004;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000004;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000040400000104;
+  *((unsigned long *)&__m256i_op1[3]) = 0xdb801b6d0962003f;
+  *((unsigned long *)&__m256i_op1[2]) = 0xdb8a3109fe0f0024;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000007fff01ffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xdb8e209d0cce025a;
+  *((unsigned long *)&__m256i_result[3]) = 0x88888a6d0962002e;
+  *((unsigned long *)&__m256i_result[2]) = 0xdb8a3109fe0f0020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000007fff01fffb;
+  *((unsigned long *)&__m256i_result[0]) = 0xdb8e20990cce025a;
+  __m256i_out = __lasx_xvbitseli_b (__m256i_op0, __m256i_op1, 0x88);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000002b902b3e;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000002b902b3e;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000002a102a3a;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000002a102a3a;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbitseli_b (__m256i_op0, __m256i_op1, 0x3a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitseli_b (__m256i_op0, __m256i_op1, 0xd9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000f0f0f0f0;
+  *((unsigned long *)&__m256i_op0[2]) = 0xf0f0f0f0f0f0f0f0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000f0f0f0f0;
+  *((unsigned long *)&__m256i_op0[0]) = 0xf0f0f0f0f0f0f0f0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000f0f0f0f0;
+  *((unsigned long *)&__m256i_op1[2]) = 0xf0f0f0f0f0f0f0f0;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000f0f0f0f0;
+  *((unsigned long *)&__m256i_op1[0]) = 0xf0f0f0f0f0f0f0f0;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000090909090;
+  *((unsigned long *)&__m256i_result[2]) = 0x9090909090909090;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000090909090;
+  *((unsigned long *)&__m256i_result[0]) = 0x9090909090909090;
+  __m256i_out = __lasx_xvbitseli_b (__m256i_op0, __m256i_op1, 0x95);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x5555555555555555;
+  *((unsigned long *)&__m256i_op0[2]) = 0x5555555555555555;
+  *((unsigned long *)&__m256i_op0[1]) = 0x5555555555555555;
+  *((unsigned long *)&__m256i_op0[0]) = 0x5555555555555555;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x4545454545454545;
+  *((unsigned long *)&__m256i_result[2]) = 0x4545454545454545;
+  *((unsigned long *)&__m256i_result[1]) = 0x4545454545454545;
+  *((unsigned long *)&__m256i_result[0]) = 0x4545454545454545;
+  __m256i_out = __lasx_xvbitseli_b (__m256i_op0, __m256i_op1, 0x4d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xf9f9f9f9f9f9f9f9;
+  *((unsigned long *)&__m256i_op0[2]) = 0xf9f9f9f9f9f9f9f9;
+  *((unsigned long *)&__m256i_op0[1]) = 0xf9f9f9f9f9f9f9f9;
+  *((unsigned long *)&__m256i_op0[0]) = 0xf9f9f9f9f9f9f9f9;
+  *((unsigned long *)&__m256i_op1[3]) = 0x21bb481000ff0000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x01bf481000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x21bb481000ff0000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x01bf481000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xb1b3b1b1b1b7b1b1;
+  *((unsigned long *)&__m256i_result[2]) = 0xb1b7b1b1b1b1b1b1;
+  *((unsigned long *)&__m256i_result[1]) = 0xb1b3b1b1b1b7b1b1;
+  *((unsigned long *)&__m256i_result[0]) = 0xb1b7b1b1b1b1b1b1;
+  __m256i_out = __lasx_xvbitseli_b (__m256i_op0, __m256i_op1, 0xb7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op0[2]) = 0xc03fc03fc03fc03f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op0[0]) = 0xc03fc03fc03fc03f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000002d;
+  *((unsigned long *)&__m256i_result[2]) = 0xc02dc02dc02dc02d;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000002d;
+  *((unsigned long *)&__m256i_result[0]) = 0xc02dc02dc02dc02d;
+  __m256i_out = __lasx_xvbitseli_b (__m256i_op0, __m256i_op1, 0xed);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_op1[3]) = 0x00000000ffff0000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffff0000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x60600000ffff0000;
+  *((unsigned long *)&__m256i_result[2]) = 0x6060000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x60600000ffff0000;
+  *((unsigned long *)&__m256i_result[0]) = 0x6060000000000000;
+  __m256i_out = __lasx_xvbitseli_b (__m256i_op0, __m256i_op1, 0x60);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitset.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitset.c
new file mode 100644
index 00000000000..c195cd91ca8
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitset.c
@@ -0,0 +1,620 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0xffff000000010000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000095120000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xc9da000063f50000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xc7387fff6bbfffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffdffffffc81aca;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff3a0b9512;
+  *((unsigned long *)&__m256i_op1[1]) = 0x280bc9db313a63f5;
+  *((unsigned long *)&__m256i_op1[0]) = 0xe032c738adcb6bbb;
+  *((unsigned long *)&__m256i_result[3]) = 0xffff800001010400;
+  *((unsigned long *)&__m256i_result[2]) = 0x000180009d120004;
+  *((unsigned long *)&__m256i_result[1]) = 0xc9da080067f50020;
+  *((unsigned long *)&__m256i_result[0]) = 0xc73c7fff6bbfffff;
+  __m256i_out = __lasx_xvbitset_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_op1[3]) = 0xffffff8046867f79;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffff328dfff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x6651bfff80000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff00010001;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00010001;
+  __m256i_out = __lasx_xvbitset_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000040000fff8;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00001f41ffffbf00;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[1]) = 0x010180068080fff9;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvbitset_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvbitset_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitset_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
+  __m256i_out = __lasx_xvbitset_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x3ff0000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x3ff0000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff00010000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff00010000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[2]) = 0x3ff1808001020101;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[0]) = 0x3ff1808001020101;
+  __m256i_out = __lasx_xvbitset_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvbitset_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitset_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00000000000004fb;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0800000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+  __m256i_out = __lasx_xvbitset_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000102;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0001000100010103;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+  __m256i_out = __lasx_xvbitset_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000010;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000010;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffefffffefc;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000000040000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x4000000010000010;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000040000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000040000010;
+  __m256i_out = __lasx_xvbitset_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xbea2e127c046721f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1729c073816edebe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xde91f010000006f9;
+  *((unsigned long *)&__m256i_op0[0]) = 0x5ef1f90efefaf30d;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000060000108;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000001060005;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000007fef0001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[3]) = 0xbfa3e127c147721f;
+  *((unsigned long *)&__m256i_result[2]) = 0x1729c173836edfbe;
+  *((unsigned long *)&__m256i_result[1]) = 0xdf91f111808007fb;
+  *((unsigned long *)&__m256i_result[0]) = 0x5ff1f90ffffbf30f;
+  __m256i_out = __lasx_xvbitset_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xe161616161614e60;
+  *((unsigned long *)&__m256i_op0[2]) = 0xe161616161614e60;
+  *((unsigned long *)&__m256i_op0[1]) = 0xe161616161614e60;
+  *((unsigned long *)&__m256i_op0[0]) = 0xe161616161614e60;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xe161616161614f61;
+  *((unsigned long *)&__m256i_result[2]) = 0xe161616161614f61;
+  *((unsigned long *)&__m256i_result[1]) = 0xe161616161614f61;
+  *((unsigned long *)&__m256i_result[0]) = 0xe161616161614f61;
+  __m256i_out = __lasx_xvbitset_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[1]) = 0x01010101010000ff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[3]) = 0x8080808280808082;
+  *((unsigned long *)&__m256i_result[2]) = 0x8080808280808082;
+  *((unsigned long *)&__m256i_result[1]) = 0x8080808280808080;
+  *((unsigned long *)&__m256i_result[0]) = 0x8080808280808082;
+  __m256i_out = __lasx_xvbitset_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000082f8989a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000d58f43c8;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010183f9999b;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[1]) = 0x01010101d58f43c9;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvbitset_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0707feb60707b7d0;
+  *((unsigned long *)&__m256i_op0[2]) = 0x45baa7ef6a95a985;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0707feb60707b7d0;
+  *((unsigned long *)&__m256i_op0[0]) = 0x45baa7ef6a95a985;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7ffe7ffd7ffe7fff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7ffe7ffd7ffe8001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0707feb70707b7d1;
+  *((unsigned long *)&__m256i_result[2]) = 0x65baa7efea95a985;
+  *((unsigned long *)&__m256i_result[1]) = 0x0707feb70707b7d1;
+  *((unsigned long *)&__m256i_result[0]) = 0x65baa7ef6a95a987;
+  __m256i_out = __lasx_xvbitset_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x41cc5bb8a95fd1eb;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x41cc5bb8a95fd1eb;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7b7b7b7b80000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xcacacb1011040500;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7b7b7b7b80000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xcacacb1011040500;
+  *((unsigned long *)&__m256i_result[3]) = 0x49cc5bb8a95fd1eb;
+  *((unsigned long *)&__m256i_result[2]) = 0x7ff4080102102001;
+  *((unsigned long *)&__m256i_result[1]) = 0x49cc5bb8a95fd1eb;
+  *((unsigned long *)&__m256i_result[0]) = 0x7ff4080102102001;
+  __m256i_out = __lasx_xvbitset_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
+  *((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_xvbitset_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+  __m256i_out = __lasx_xvbitset_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010101010401;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101010401;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010101010401;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010401;
+  __m256i_out = __lasx_xvbitset_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xdf00000052a00000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x5b7f00ff5b7f00ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xdf00000052a00000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x5b7f00ff5b7f00ff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_op1[2]) = 0x2020202020206431;
+  *((unsigned long *)&__m256i_op1[1]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_op1[0]) = 0x2020202020206431;
+  *((unsigned long *)&__m256i_result[3]) = 0xdf01010153a10101;
+  *((unsigned long *)&__m256i_result[2]) = 0x5b7f01ff5b7f10ff;
+  *((unsigned long *)&__m256i_result[1]) = 0xdf01010153a10101;
+  *((unsigned long *)&__m256i_result[0]) = 0x5b7f01ff5b7f10ff;
+  __m256i_out = __lasx_xvbitset_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xdbcbdbcbecececec;
+  *((unsigned long *)&__m256i_op1[2]) = 0xdbcbdbcb0000dbcb;
+  *((unsigned long *)&__m256i_op1[1]) = 0xdbcbdbcbecececec;
+  *((unsigned long *)&__m256i_op1[0]) = 0xdbcbdbcb0000dbcb;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000080000001000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000080000000800;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000080000001000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000080000000800;
+  __m256i_out = __lasx_xvbitset_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000027262524;
+  *((unsigned long *)&__m256i_op0[2]) = 0x23222120171e151c;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000027262524;
+  *((unsigned long *)&__m256i_op0[0]) = 0x23222120171e151c;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x201fdfe0201fdfe0;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x201fdfe0201fdfe0;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010127272525;
+  *((unsigned long *)&__m256i_result[2]) = 0x23a2a121179e951d;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010127272525;
+  *((unsigned long *)&__m256i_result[0]) = 0x23a2a121179e951d;
+  __m256i_out = __lasx_xvbitset_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitset_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000007fee;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000007fee;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000007fee;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000007fee;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x800080008000ffee;
+  *((unsigned long *)&__m256i_result[2]) = 0x800080008000ffee;
+  *((unsigned long *)&__m256i_result[1]) = 0x800080008000ffee;
+  *((unsigned long *)&__m256i_result[0]) = 0x800080008000ffee;
+  __m256i_out = __lasx_xvbitset_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvbitset_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000100010001ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x000100010001ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000100010001ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000100010001ffff;
+  __m256i_out = __lasx_xvbitset_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00010000fffe0000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00010000fffe0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00010000fffe0000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00010000fffe0000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_xvbitset_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000c9;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000c9;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000000000f0;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[2]) = 0x01010101010101c9;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[0]) = 0x01010101010101c9;
+  __m256i_out = __lasx_xvbitset_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitset_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000200000008;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000200000008;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvbitset_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000affff800b;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000affff800b;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000affff800b;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000affff800b;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000800;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000800;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000800;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000800;
+  __m256i_out = __lasx_xvbitset_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0200000202000002;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0200000202000002;
+  *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001000400010004;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001000400010004;
+  __m256i_out = __lasx_xvbitset_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000e0000000e;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000e0000000d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000e0000000e;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000e0000000d;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0001000f0001000f;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001000f0001000d;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000f0001000f;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001000f0001000d;
+  __m256i_out = __lasx_xvbitset_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x007f010000000100;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x007f010000000100;
+  *((unsigned long *)&__m256i_op1[3]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x007f010100000101;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x007f010100000101;
+  __m256i_out = __lasx_xvbitset_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvbitset_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x498000804843ffe0;
+  *((unsigned long *)&__m256i_op0[2]) = 0x4980008068400000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x498000804843ffe0;
+  *((unsigned long *)&__m256i_op0[0]) = 0x4980008068400000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x498100814843ffe1;
+  *((unsigned long *)&__m256i_result[2]) = 0x4981008168410001;
+  *((unsigned long *)&__m256i_result[1]) = 0x498100814843ffe1;
+  *((unsigned long *)&__m256i_result[0]) = 0x4981008168410001;
+  __m256i_out = __lasx_xvbitset_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00000000090b0906;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000000d6d6d;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000100000040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000100002000;
+  __m256i_out = __lasx_xvbitset_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x03af03af03af03af;
+  *((unsigned long *)&__m256i_op0[2]) = 0x03acfc5303260e80;
+  *((unsigned long *)&__m256i_op0[1]) = 0x03af03af03af03af;
+  *((unsigned long *)&__m256i_op0[0]) = 0x03acfc5303260e80;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000002780;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000002780;
+  *((unsigned long *)&__m256i_result[3]) = 0x03af03af03af03af;
+  *((unsigned long *)&__m256i_result[2]) = 0x03acfc5303260e81;
+  *((unsigned long *)&__m256i_result[1]) = 0x03af03af03af03af;
+  *((unsigned long *)&__m256i_result[0]) = 0x03acfc5303260e81;
+  __m256i_out = __lasx_xvbitset_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitseti.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitseti.c
new file mode 100644
index 00000000000..47f37e4b3d4
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitseti.c
@@ -0,0 +1,405 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000800;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000800;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvbitseti_d (__m256i_op0, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvbitseti_w (__m256i_op0, 0x15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffcf800fffcf800;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000080000000800;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffcf800fffcf800;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000080000000800;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000080000000800;
+  __m256i_out = __lasx_xvbitseti_w (__m256i_op0, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00007f7f00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00007f7f00007fff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000040000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00007f7f00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000040000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00007f7f00007fff;
+  __m256i_out = __lasx_xvbitseti_d (__m256i_op0, 0x2a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0202020202020202;
+  *((unsigned long *)&__m256i_result[2]) = 0x0202020202020202;
+  *((unsigned long *)&__m256i_result[1]) = 0x0202020202020202;
+  *((unsigned long *)&__m256i_result[0]) = 0x0202020202020202;
+  __m256i_out = __lasx_xvbitseti_b (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000800000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000800000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000800000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000800000000;
+  __m256i_out = __lasx_xvbitseti_d (__m256i_op0, 0x23);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_result[2]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_result[1]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_result[0]) = 0x1010101010101010;
+  __m256i_out = __lasx_xvbitseti_b (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000004000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000004000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000004000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000004000000;
+  __m256i_out = __lasx_xvbitseti_d (__m256i_op0, 0x1a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000013;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000001000000fe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000013;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000001000000fb;
+  *((unsigned long *)&__m256i_result[3]) = 0x8080808180808093;
+  *((unsigned long *)&__m256i_result[2]) = 0x80808081808080fe;
+  *((unsigned long *)&__m256i_result[1]) = 0x8080808180808093;
+  *((unsigned long *)&__m256i_result[0]) = 0x80808081808080fb;
+  __m256i_out = __lasx_xvbitseti_b (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000020;
+  __m256i_out = __lasx_xvbitseti_d (__m256i_op0, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[2]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[1]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[0]) = 0x0808080808080808;
+  __m256i_out = __lasx_xvbitseti_b (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0010000000100000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0010000000100000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0010000000100000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0010000000100000;
+  __m256i_out = __lasx_xvbitseti_w (__m256i_op0, 0x14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[2]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[0]) = 0x0010001000100010;
+  __m256i_out = __lasx_xvbitseti_h (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000044444443;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7bbbbbbbf7777778;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000044444443;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7bbbbbbbf7777778;
+  *((unsigned long *)&__m256i_result[3]) = 0x1000100054445443;
+  *((unsigned long *)&__m256i_result[2]) = 0x7bbbbbbbf7777778;
+  *((unsigned long *)&__m256i_result[1]) = 0x1000100054445443;
+  *((unsigned long *)&__m256i_result[0]) = 0x7bbbbbbbf7777778;
+  __m256i_out = __lasx_xvbitseti_h (__m256i_op0, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[2]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[1]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[0]) = 0x2020202020202020;
+  __m256i_out = __lasx_xvbitseti_b (__m256i_op0, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000200;
+  __m256i_out = __lasx_xvbitseti_d (__m256i_op0, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffa0078fffa0074;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffa0078fffa0074;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffa2078fffa2074;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffa2078fffa2074;
+  __m256i_out = __lasx_xvbitseti_w (__m256i_op0, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffeffebfb7afb62;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffeffebfb7afb62;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000800;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffeffebfb7afb62;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000800;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffeffebfb7afb62;
+  __m256i_out = __lasx_xvbitseti_d (__m256i_op0, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xe7e7e7e7e7e7e7e7;
+  *((unsigned long *)&__m256i_op0[2]) = 0xe7e7e7e7e7e7e7e7;
+  *((unsigned long *)&__m256i_op0[1]) = 0xe7e7e7e7e7e7e7e7;
+  *((unsigned long *)&__m256i_op0[0]) = 0xe7e7e7e7e7e7e7e7;
+  *((unsigned long *)&__m256i_result[3]) = 0xe7e7e7e7e7e7e7e7;
+  *((unsigned long *)&__m256i_result[2]) = 0xe7e7e7e7e7e7e7e7;
+  *((unsigned long *)&__m256i_result[1]) = 0xe7e7e7e7e7e7e7e7;
+  *((unsigned long *)&__m256i_result[0]) = 0xe7e7e7e7e7e7e7e7;
+  __m256i_out = __lasx_xvbitseti_h (__m256i_op0, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000004411;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000004411;
+  *((unsigned long *)&__m256i_result[3]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[2]) = 0x2020202020206431;
+  *((unsigned long *)&__m256i_result[1]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[0]) = 0x2020202020206431;
+  __m256i_out = __lasx_xvbitseti_b (__m256i_op0, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0003030300000300;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0003030300000300;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0003030300000100;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0003030300000100;
+  *((unsigned long *)&__m256i_result[3]) = 0x0043030300400300;
+  *((unsigned long *)&__m256i_result[2]) = 0x0043030300400300;
+  *((unsigned long *)&__m256i_result[1]) = 0x0043030300400100;
+  *((unsigned long *)&__m256i_result[0]) = 0x0043030300400100;
+  __m256i_out = __lasx_xvbitseti_w (__m256i_op0, 0x16);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x223d76f09f3881ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x3870ca8d013e76a0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x223d76f09f37e357;
+  *((unsigned long *)&__m256i_op0[0]) = 0x43ec0a1b2aba7ed0;
+  *((unsigned long *)&__m256i_result[3]) = 0x223d76f09f3881ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x3870ca9d013e76b0;
+  *((unsigned long *)&__m256i_result[1]) = 0x223d76f09f37e357;
+  *((unsigned long *)&__m256i_result[0]) = 0x43ec0a1b2aba7ed0;
+  __m256i_out = __lasx_xvbitseti_w (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xf7f8f7f8f800f800;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00003f780000ff80;
+  *((unsigned long *)&__m256i_op0[1]) = 0xf7f8f7f80000fff9;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00003f780000ff80;
+  *((unsigned long *)&__m256i_result[3]) = 0xf7f8f7f8f800f800;
+  *((unsigned long *)&__m256i_result[2]) = 0x00003f784000ff80;
+  *((unsigned long *)&__m256i_result[1]) = 0xf7f8f7f84000fff9;
+  *((unsigned long *)&__m256i_result[0]) = 0x00003f784000ff80;
+  __m256i_out = __lasx_xvbitseti_d (__m256i_op0, 0x1e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_result[2]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_result[1]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_result[0]) = 0x4040404040404040;
+  __m256i_out = __lasx_xvbitseti_b (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00ff0020ff1f001f;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffe1ffe0ffe1ffe0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00ff0020ff1f001f;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffe1ffe0ffe1ffe0;
+  *((unsigned long *)&__m256i_result[3]) = 0x01ff0020ff1f001f;
+  *((unsigned long *)&__m256i_result[2]) = 0xffe1ffe0ffe1ffe0;
+  *((unsigned long *)&__m256i_result[1]) = 0x01ff0020ff1f001f;
+  *((unsigned long *)&__m256i_result[0]) = 0xffe1ffe0ffe1ffe0;
+  __m256i_out = __lasx_xvbitseti_w (__m256i_op0, 0x18);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffefef800;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffefef800;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000008000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffffefef800;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000008000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffffefef800;
+  __m256i_out = __lasx_xvbitseti_d (__m256i_op0, 0x27);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0002000000020000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0002000000020000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0002000000020000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0002000000020000;
+  __m256i_out = __lasx_xvbitseti_w (__m256i_op0, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000030b8;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000030b8;
+  *((unsigned long *)&__m256i_result[3]) = 0x0002000200020002;
+  *((unsigned long *)&__m256i_result[2]) = 0x00020002000230ba;
+  *((unsigned long *)&__m256i_result[1]) = 0x0002000200020002;
+  *((unsigned long *)&__m256i_result[0]) = 0x00020002000230ba;
+  __m256i_out = __lasx_xvbitseti_h (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0100010001000100;
+  *((unsigned long *)&__m256i_result[2]) = 0x8100810081008100;
+  *((unsigned long *)&__m256i_result[1]) = 0x0100010001000100;
+  *((unsigned long *)&__m256i_result[0]) = 0x8100810081008100;
+  __m256i_out = __lasx_xvbitseti_h (__m256i_op0, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000007878;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000007878;
+  *((unsigned long *)&__m256i_result[3]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[2]) = 0x0010001000107878;
+  *((unsigned long *)&__m256i_result[1]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[0]) = 0x0010001000107878;
+  __m256i_out = __lasx_xvbitseti_h (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[2]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[1]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[0]) = 0x0808080808080808;
+  __m256i_out = __lasx_xvbitseti_b (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffb2f600006f48;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffb2f600006f48;
+  *((unsigned long *)&__m256i_result[3]) = 0x4000400140004001;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffff2f640006f48;
+  *((unsigned long *)&__m256i_result[1]) = 0x4000400140004001;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffff2f640006f48;
+  __m256i_out = __lasx_xvbitseti_h (__m256i_op0, 0xe);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000008;
+  __m256i_out = __lasx_xvbitseti_d (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x4040404040404040;
+  __m256i_out = __lasx_xvbitseti_b (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfd02fd02fd02fd02;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfd02fd02fd02fd02;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfd02fd02fd02fd02;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfd02fd02fd02fd02;
+  *((unsigned long *)&__m256i_result[3]) = 0xfd12fd12fd12fd12;
+  *((unsigned long *)&__m256i_result[2]) = 0xfd12fd12fd12fd12;
+  *((unsigned long *)&__m256i_result[1]) = 0xfd12fd12fd12fd12;
+  *((unsigned long *)&__m256i_result[0]) = 0xfd12fd12fd12fd12;
+  __m256i_out = __lasx_xvbitseti_b (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvclo.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvclo.c
new file mode 100644
index 00000000000..dbc52f92b7c
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvclo.c
@@ -0,0 +1,449 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0xffd1b24e00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffcea54ffff29a8;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff8cad88ff8306b4;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffc1278fffce4c8;
+  *((unsigned long *)&__m256i_result[3]) = 0x0802010000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0806030008080001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0801010108010001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0806000008060302;
+  __m256i_out = __lasx_xvclo_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000fffffffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000fffffffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000fffffffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000fffffffe;
+  *((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_xvclo_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfafafafafafafafa;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000fefefe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0005000500050005;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0007000700070007;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000007;
+  __m256i_out = __lasx_xvclo_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[2]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[0]) = 0x0010001000100010;
+  __m256i_out = __lasx_xvclo_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xb70036db12c4007e;
+  *((unsigned long *)&__m256i_op0[2]) = 0xb7146213fc1e0049;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000fefe02fffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xb71c413b199d04b5;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+  __m256i_out = __lasx_xvclo_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0fff0fff00000020;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0fff0fff00000020;
+  *((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_xvclo_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000100000000;
+  __m256i_out = __lasx_xvclo_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffc;
+  *((unsigned long *)&__m256i_op0[2]) = 0x01fc03fc01fc03fc;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffc;
+  *((unsigned long *)&__m256i_op0[0]) = 0x01fc03fc01fc03fc;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000200000001e;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000200000001e;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[2]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000808;
+  __m256i_out = __lasx_xvclo_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xd04752cdd5543b56;
+  *((unsigned long *)&__m256i_op0[2]) = 0x6906e68064f3d78b;
+  *((unsigned long *)&__m256i_op0[1]) = 0xd04752cdd5543b56;
+  *((unsigned long *)&__m256i_op0[0]) = 0x6906e68064f3d78b;
+  *((unsigned long *)&__m256i_result[3]) = 0x0002000000020000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000300000002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0002000000020000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000300000002;
+  __m256i_out = __lasx_xvclo_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xc0000000c0000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xc000000080400000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xc0000000c0000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xc000000080400000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0002000000020000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0002000000010000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0002000000020000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0002000000010000;
+  __m256i_out = __lasx_xvclo_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000012;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000012;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000012;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000012;
+  *((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_xvclo_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0010000100000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0010000100000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0010000100000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0010000100000000;
+  __m256i_out = __lasx_xvclo_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000004000000020;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000004000000020;
+  *((unsigned long *)&__m256i_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_xvclo_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000201220001011c;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000201220001011c;
+  *((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_xvclo_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000800080008000;
+  *((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_xvclo_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000100010;
+  *((unsigned long *)&__m256i_result[2]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000100010;
+  *((unsigned long *)&__m256i_result[0]) = 0x0010001000100010;
+  __m256i_out = __lasx_xvclo_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+  *((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_xvclo_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000100010;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000100010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000100010;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000100010;
+  __m256i_out = __lasx_xvclo_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclo_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvclz.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvclz.c
new file mode 100644
index 00000000000..89191c46757
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvclz.c
@@ -0,0 +1,504 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x04481940fbb7e6bf;
+  *((unsigned long *)&__m256i_op0[2]) = 0xf2781966e6991966;
+  *((unsigned long *)&__m256i_op0[1]) = 0x51258839aeda77c6;
+  *((unsigned long *)&__m256i_op0[0]) = 0xcf25f0e00f1ff0e0;
+  *((unsigned long *)&__m256i_result[3]) = 0x0501030100000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001030100000301;
+  *((unsigned long *)&__m256i_result[1]) = 0x0102000200000100;
+  *((unsigned long *)&__m256i_result[0]) = 0x0002000004030000;
+  __m256i_out = __lasx_xvclz_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000f0000000f;
+  __m256i_out = __lasx_xvclz_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000003868686a20;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0045b8ae81bce1d8;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000003868686a20;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0045b8ae81bce1d8;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000001a00000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000900000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000001a00000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000900000000;
+  __m256i_out = __lasx_xvclz_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[2]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[0]) = 0x0010001000100010;
+  __m256i_out = __lasx_xvclz_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclz_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[2]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[1]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[0]) = 0x0808080808080808;
+  __m256i_out = __lasx_xvclz_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000040;
+  __m256i_out = __lasx_xvclz_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0808080808080807;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0808080808080807;
+  __m256i_out = __lasx_xvclz_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000007fff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000007fff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0001000000010000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0010001000100001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000000010000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0010001000100001;
+  __m256i_out = __lasx_xvclz_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000040;
+  __m256i_out = __lasx_xvclz_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff00ffffff00ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff00ffffff00ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0008000000080000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0008000000080000;
+  __m256i_out = __lasx_xvclz_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[2]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[1]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[0]) = 0x0808080808080808;
+  __m256i_out = __lasx_xvclz_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[2]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[0]) = 0x0010001000100010;
+  __m256i_out = __lasx_xvclz_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000007f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000007f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000002000000018;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000002000000019;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000200000001e;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000002000000019;
+  __m256i_out = __lasx_xvclz_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0b085bfc00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0b004bc000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0b085bfc00000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0b004bc000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0404010008080808;
+  *((unsigned long *)&__m256i_result[2]) = 0x0408010008080808;
+  *((unsigned long *)&__m256i_result[1]) = 0x0404010008080808;
+  *((unsigned long *)&__m256i_result[0]) = 0x0408010008080808;
+  __m256i_out = __lasx_xvclz_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffc040ffffc09d;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00003fc00000428a;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffc040ffffc09d;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00003fc00000428a;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000012;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000012;
+  __m256i_out = __lasx_xvclz_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0505070804040404;
+  *((unsigned long *)&__m256i_result[2]) = 0x0504070804040404;
+  *((unsigned long *)&__m256i_result[1]) = 0x0505070804040404;
+  *((unsigned long *)&__m256i_result[0]) = 0x0504070804040404;
+  __m256i_out = __lasx_xvclz_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000002000000020;
+  __m256i_out = __lasx_xvclz_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000002000000020;
+  __m256i_out = __lasx_xvclz_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000002000000020;
+  __m256i_out = __lasx_xvclz_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000040;
+  __m256i_out = __lasx_xvclz_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000001000000010;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000001000000010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000001000000010;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000001000000010;
+  __m256i_out = __lasx_xvclz_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0006ffff0004ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0002ffff0000ff00;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0006ffff0004ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0002ffff0000ff00;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000000d;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000000e;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000000d;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000000e;
+  __m256i_out = __lasx_xvclz_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000032;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000003c000000032;
+  *((unsigned long *)&__m256i_result[3]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[2]) = 0x001000100010000a;
+  *((unsigned long *)&__m256i_result[1]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[0]) = 0x001000060010000a;
+  __m256i_out = __lasx_xvclz_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclz_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclz_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0003800400038004;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000a800b000a800b;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0003800400038004;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000a800b000a800b;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000000e;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000000c;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000000e;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000000c;
+  __m256i_out = __lasx_xvclz_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000002000000020;
+  __m256i_out = __lasx_xvclz_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000080;
+  *((unsigned long *)&__m256i_result[3]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000008080800;
+  *((unsigned long *)&__m256i_result[1]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000008080800;
+  __m256i_out = __lasx_xvclz_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[2]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[1]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[0]) = 0x0808080808080808;
+  __m256i_out = __lasx_xvclz_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0a0a000000000a0a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0a0a0a0a00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0a0a000000000a0a;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0a0a0a0a00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0004001000100004;
+  *((unsigned long *)&__m256i_result[2]) = 0x0004000400100010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0004001000100004;
+  *((unsigned long *)&__m256i_result[0]) = 0x0004000400100010;
+  __m256i_out = __lasx_xvclz_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000002000000020;
+  __m256i_out = __lasx_xvclz_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclz_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvclz_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ff88ff88;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ff88ff88;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000020;
+  __m256i_out = __lasx_xvclz_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000007f8000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000007f8000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000029;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000029;
+  __m256i_out = __lasx_xvclz_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000040;
+  __m256i_out = __lasx_xvclz_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000002000000020;
+  __m256i_out = __lasx_xvclz_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000007;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000007;
+  __m256i_out = __lasx_xvclz_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[2]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[1]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[0]) = 0x0808080808080808;
+  __m256i_out = __lasx_xvclz_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000040;
+  __m256i_out = __lasx_xvclz_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000001010000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000001010000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000027;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000027;
+  __m256i_out = __lasx_xvclz_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000040;
+  __m256i_out = __lasx_xvclz_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[2]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[1]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[0]) = 0x0808080808080808;
+  __m256i_out = __lasx_xvclz_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpcnt.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpcnt.c
new file mode 100644
index 00000000000..d2e742e8104
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpcnt.c
@@ -0,0 +1,526 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x639c3fffb5dffffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xb8c7800094400001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0008000e000c000f;
+  *((unsigned long *)&__m256i_result[0]) = 0x0009000100040001;
+  __m256i_out = __lasx_xvpcnt_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x005500550055ffab;
+  *((unsigned long *)&__m256i_op0[2]) = 0x005500550055ffab;
+  *((unsigned long *)&__m256i_op0[1]) = 0x005500550055ffab;
+  *((unsigned long *)&__m256i_op0[0]) = 0x005500550055ffab;
+  *((unsigned long *)&__m256i_result[3]) = 0x0004000400040805;
+  *((unsigned long *)&__m256i_result[2]) = 0x0004000400040805;
+  *((unsigned long *)&__m256i_result[1]) = 0x0004000400040805;
+  *((unsigned long *)&__m256i_result[0]) = 0x0004000400040805;
+  __m256i_out = __lasx_xvpcnt_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00000007;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffcf800fffcf800;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00000007;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000080000000800;
+  *((unsigned long *)&__m256i_result[3]) = 0x0008000800000003;
+  *((unsigned long *)&__m256i_result[2]) = 0x0806050008060500;
+  *((unsigned long *)&__m256i_result[1]) = 0x0008000800000003;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000010000000100;
+  __m256i_out = __lasx_xvpcnt_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000002e2100;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000040002;
+  __m256i_out = __lasx_xvpcnt_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x1000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x1000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x1000000000000000;
+  *((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_xvpcnt_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x34000000fff00000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfff6e00000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x3380000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x363c0000fff3c000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000030000000c;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000001100000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000500000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000800000010;
+  __m256i_out = __lasx_xvpcnt_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00c100c100c100c1;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00c100c100c100c1;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0003000300030003;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0003000300030003;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000040;
+  __m256i_out = __lasx_xvpcnt_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000080808080808;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000080800000808;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000080808080808;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000080800000808;
+  __m256i_out = __lasx_xvpcnt_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[2]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[1]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[0]) = 0x0808080808080808;
+  __m256i_out = __lasx_xvpcnt_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000040;
+  __m256i_out = __lasx_xvpcnt_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000002;
+  __m256i_out = __lasx_xvpcnt_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffe36780;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000100000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffe36780;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000000100000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000008050501;
+  *((unsigned long *)&__m256i_result[2]) = 0x0100000100000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000008050501;
+  *((unsigned long *)&__m256i_result[0]) = 0x0100000100000001;
+  __m256i_out = __lasx_xvpcnt_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000002000000020;
+  __m256i_out = __lasx_xvpcnt_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000020;
+  __m256i_out = __lasx_xvpcnt_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000001;
+  *((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_xvpcnt_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000001555;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000015554001c003;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000001555;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000015554001c003;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000304;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000030401010202;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000304;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000030401010202;
+  __m256i_out = __lasx_xvpcnt_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000007f433c78;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000007f433c78;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000a0008;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000a0008;
+  __m256i_out = __lasx_xvpcnt_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0010001000030000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0010001000030000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0010001000030000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0010001000030000;
+  __m256i_out = __lasx_xvpcnt_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000010000685e;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000020a4ffffbe4f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000010000685e;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000020a4ffffbe4f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000100000008;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000040000001b;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000100000008;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000040000001b;
+  __m256i_out = __lasx_xvpcnt_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff1cff1cff1cff1c;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff1cff1cff1cff1c;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000b000b000b000b;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000b000b000b000b;
+  __m256i_out = __lasx_xvpcnt_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000001f00000020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000001f00000020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpcnt_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000001200000012;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000001200000012;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000001200000012;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000001200000012;
+  __m256i_out = __lasx_xvpcnt_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000400000004000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000400000004000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000400000004000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000400000004000;
+  *((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_xvpcnt_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
-- 
2.20.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v4 12/22] LoongArch: Add tests for ASX builtin functions.
  2023-09-13  3:40 [PATCH v4 10/22] LoongArch: Add tests for ASX vector xvssran/xvssrani/xvssrarn/xvssrarni/xvssrln/ xvssrlni/xvssrlrn/xvssrlrni instructions Xiaolong Chen
  2023-09-13  3:40 ` [PATCH v4 11/22] LoongArch: Add tests for ASX vector xvbitclr/xvbitclri/xvbitrev/xvbitrevi/ xvbitsel/xvbitseli/xvbitset/xvbitseti/xvclo/xvclz/xvpcnt instructions Xiaolong Chen
@ 2023-09-13  3:40 ` Xiaolong Chen
  2023-09-13  3:40 ` [PATCH v4 13/22] LoongArch: Add tests for ASX xvldrepl/xvstelm instruction generation Xiaolong Chen
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Xiaolong Chen @ 2023-09-13  3:40 UTC (permalink / raw)
  To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen

gcc/testsuite/ChangeLog:

	* gcc.target/loongarch/vector/lasx/lasx-builtin.c: New test.
---
 .../loongarch/vector/lasx/lasx-builtin.c      | 1509 +++++++++++++++++
 1 file changed, 1509 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-builtin.c

diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-builtin.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-builtin.c
new file mode 100644
index 00000000000..ecb8d639bdd
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-builtin.c
@@ -0,0 +1,1509 @@
+/* Test builtins for LOONGARCH LASX ASE instructions */
+/* { dg-do compile } */
+/* { dg-options "-mlasx" } */
+/* { dg-final { scan-assembler-times "lasx_xvsll_b:.*xvsll\\.b.*lasx_xvsll_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsll_h:.*xvsll\\.h.*lasx_xvsll_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsll_w:.*xvsll\\.w.*lasx_xvsll_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsll_d:.*xvsll\\.d.*lasx_xvsll_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslli_b:.*xvslli\\.b.*lasx_xvslli_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslli_h:.*xvslli\\.h.*lasx_xvslli_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslli_w:.*xvslli\\.w.*lasx_xvslli_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslli_d:.*xvslli\\.d.*lasx_xvslli_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsra_b:.*xvsra\\.b.*lasx_xvsra_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsra_h:.*xvsra\\.h.*lasx_xvsra_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsra_w:.*xvsra\\.w.*lasx_xvsra_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsra_d:.*xvsra\\.d.*lasx_xvsra_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrai_b:.*xvsrai\\.b.*lasx_xvsrai_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrai_h:.*xvsrai\\.h.*lasx_xvsrai_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrai_w:.*xvsrai\\.w.*lasx_xvsrai_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrai_d:.*xvsrai\\.d.*lasx_xvsrai_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrar_b:.*xvsrar\\.b.*lasx_xvsrar_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrar_h:.*xvsrar\\.h.*lasx_xvsrar_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrar_w:.*xvsrar\\.w.*lasx_xvsrar_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrar_d:.*xvsrar\\.d.*lasx_xvsrar_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrari_b:.*xvsrari\\.b.*lasx_xvsrari_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrari_h:.*xvsrari\\.h.*lasx_xvsrari_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrari_w:.*xvsrari\\.w.*lasx_xvsrari_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrari_d:.*xvsrari\\.d.*lasx_xvsrari_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrl_b:.*xvsrl\\.b.*lasx_xvsrl_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrl_h:.*xvsrl\\.h.*lasx_xvsrl_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrl_w:.*xvsrl\\.w.*lasx_xvsrl_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrl_d:.*xvsrl\\.d.*lasx_xvsrl_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrli_b:.*xvsrli\\.b.*lasx_xvsrli_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrli_h:.*xvsrli\\.h.*lasx_xvsrli_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrli_w:.*xvsrli\\.w.*lasx_xvsrli_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrli_d:.*xvsrli\\.d.*lasx_xvsrli_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlr_b:.*xvsrlr\\.b.*lasx_xvsrlr_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlr_h:.*xvsrlr\\.h.*lasx_xvsrlr_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlr_w:.*xvsrlr\\.w.*lasx_xvsrlr_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlr_d:.*xvsrlr\\.d.*lasx_xvsrlr_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlri_b:.*xvsrlri\\.b.*lasx_xvsrlri_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlri_h:.*xvsrlri\\.h.*lasx_xvsrlri_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlri_w:.*xvsrlri\\.w.*lasx_xvsrlri_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlri_d:.*xvsrlri\\.d.*lasx_xvsrlri_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitclr_b:.*xvbitclr\\.b.*lasx_xvbitclr_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitclr_h:.*xvbitclr\\.h.*lasx_xvbitclr_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitclr_w:.*xvbitclr\\.w.*lasx_xvbitclr_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitclr_d:.*xvbitclr\\.d.*lasx_xvbitclr_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitclri_b:.*xvbitclri\\.b.*lasx_xvbitclri_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitclri_h:.*xvbitclri\\.h.*lasx_xvbitclri_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitclri_w:.*xvbitclri\\.w.*lasx_xvbitclri_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitclri_d:.*xvbitclri\\.d.*lasx_xvbitclri_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitset_b:.*xvbitset\\.b.*lasx_xvbitset_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitset_h:.*xvbitset\\.h.*lasx_xvbitset_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitset_w:.*xvbitset\\.w.*lasx_xvbitset_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitset_d:.*xvbitset\\.d.*lasx_xvbitset_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitseti_b:.*xvbitseti\\.b.*lasx_xvbitseti_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitseti_h:.*xvbitseti\\.h.*lasx_xvbitseti_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitseti_w:.*xvbitseti\\.w.*lasx_xvbitseti_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitseti_d:.*xvbitseti\\.d.*lasx_xvbitseti_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitrev_b:.*xvbitrev\\.b.*lasx_xvbitrev_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitrev_h:.*xvbitrev\\.h.*lasx_xvbitrev_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitrev_w:.*xvbitrev\\.w.*lasx_xvbitrev_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitrev_d:.*xvbitrev\\.d.*lasx_xvbitrev_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitrevi_b:.*xvbitrevi\\.b.*lasx_xvbitrevi_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitrevi_h:.*xvbitrevi\\.h.*lasx_xvbitrevi_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitrevi_w:.*xvbitrevi\\.w.*lasx_xvbitrevi_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitrevi_d:.*xvbitrevi\\.d.*lasx_xvbitrevi_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvadd_b:.*xvadd\\.b.*lasx_xvadd_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvadd_h:.*xvadd\\.h.*lasx_xvadd_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvadd_w:.*xvadd\\.w.*lasx_xvadd_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvadd_d:.*xvadd\\.d.*lasx_xvadd_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddi_bu:.*xvaddi\\.bu.*lasx_xvaddi_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddi_hu:.*xvaddi\\.hu.*lasx_xvaddi_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddi_wu:.*xvaddi\\.wu.*lasx_xvaddi_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddi_du:.*xvaddi\\.du.*lasx_xvaddi_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsub_b:.*xvsub\\.b.*lasx_xvsub_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsub_h:.*xvsub\\.h.*lasx_xvsub_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsub_w:.*xvsub\\.w.*lasx_xvsub_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsub_d:.*xvsub\\.d.*lasx_xvsub_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubi_bu:.*xvsubi\\.bu.*lasx_xvsubi_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubi_hu:.*xvsubi\\.hu.*lasx_xvsubi_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubi_wu:.*xvsubi\\.wu.*lasx_xvsubi_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubi_du:.*xvsubi\\.du.*lasx_xvsubi_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmax_b:.*xvmax\\.b.*lasx_xvmax_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmax_h:.*xvmax\\.h.*lasx_xvmax_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmax_w:.*xvmax\\.w.*lasx_xvmax_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmax_d:.*xvmax\\.d.*lasx_xvmax_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaxi_b:.*xvmaxi\\.b.*lasx_xvmaxi_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaxi_h:.*xvmaxi\\.h.*lasx_xvmaxi_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaxi_w:.*xvmaxi\\.w.*lasx_xvmaxi_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaxi_d:.*xvmaxi\\.d.*lasx_xvmaxi_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmax_bu:.*xvmax\\.bu.*lasx_xvmax_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmax_hu:.*xvmax\\.hu.*lasx_xvmax_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmax_wu:.*xvmax\\.wu.*lasx_xvmax_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmax_du:.*xvmax\\.du.*lasx_xvmax_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaxi_bu:.*xvmaxi\\.bu.*lasx_xvmaxi_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaxi_hu:.*xvmaxi\\.hu.*lasx_xvmaxi_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaxi_wu:.*xvmaxi\\.wu.*lasx_xvmaxi_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaxi_du:.*xvmaxi\\.du.*lasx_xvmaxi_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmin_b:.*xvmin\\.b.*lasx_xvmin_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmin_h:.*xvmin\\.h.*lasx_xvmin_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmin_w:.*xvmin\\.w.*lasx_xvmin_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmin_d:.*xvmin\\.d.*lasx_xvmin_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmini_b:.*xvmini\\.b.*lasx_xvmini_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmini_h:.*xvmini\\.h.*lasx_xvmini_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmini_w:.*xvmini\\.w.*lasx_xvmini_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmini_d:.*xvmini\\.d.*lasx_xvmini_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmin_bu:.*xvmin\\.bu.*lasx_xvmin_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmin_hu:.*xvmin\\.hu.*lasx_xvmin_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmin_wu:.*xvmin\\.wu.*lasx_xvmin_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmin_du:.*xvmin\\.du.*lasx_xvmin_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmini_bu:.*xvmini\\.bu.*lasx_xvmini_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmini_hu:.*xvmini\\.hu.*lasx_xvmini_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmini_wu:.*xvmini\\.wu.*lasx_xvmini_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmini_du:.*xvmini\\.du.*lasx_xvmini_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvseq_b:.*xvseq\\.b.*lasx_xvseq_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvseq_h:.*xvseq\\.h.*lasx_xvseq_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvseq_w:.*xvseq\\.w.*lasx_xvseq_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvseq_d:.*xvseq\\.d.*lasx_xvseq_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvseqi_b:.*xvseqi\\.b.*lasx_xvseqi_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvseqi_h:.*xvseqi\\.h.*lasx_xvseqi_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvseqi_w:.*xvseqi\\.w.*lasx_xvseqi_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvseqi_d:.*xvseqi\\.d.*lasx_xvseqi_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslt_b:.*xvslt\\.b.*lasx_xvslt_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslt_h:.*xvslt\\.h.*lasx_xvslt_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslt_w:.*xvslt\\.w.*lasx_xvslt_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslt_d:.*xvslt\\.d.*lasx_xvslt_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslti_b:.*xvslti\\.b.*lasx_xvslti_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslti_h:.*xvslti\\.h.*lasx_xvslti_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslti_w:.*xvslti\\.w.*lasx_xvslti_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslti_d:.*xvslti\\.d.*lasx_xvslti_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslt_bu:.*xvslt\\.bu.*lasx_xvslt_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslt_hu:.*xvslt\\.hu.*lasx_xvslt_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslt_wu:.*xvslt\\.wu.*lasx_xvslt_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslt_du:.*xvslt\\.du.*lasx_xvslt_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslti_bu:.*xvslti\\.bu.*lasx_xvslti_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslti_hu:.*xvslti\\.hu.*lasx_xvslti_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslti_wu:.*xvslti\\.wu.*lasx_xvslti_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslti_du:.*xvslti\\.du.*lasx_xvslti_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsle_b:.*xvsle\\.b.*lasx_xvsle_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsle_h:.*xvsle\\.h.*lasx_xvsle_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsle_w:.*xvsle\\.w.*lasx_xvsle_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsle_d:.*xvsle\\.d.*lasx_xvsle_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslei_b:.*xvslei\\.b.*lasx_xvslei_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslei_h:.*xvslei\\.h.*lasx_xvslei_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslei_w:.*xvslei\\.w.*lasx_xvslei_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslei_d:.*xvslei\\.d.*lasx_xvslei_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsle_bu:.*xvsle\\.bu.*lasx_xvsle_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsle_hu:.*xvsle\\.hu.*lasx_xvsle_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsle_wu:.*xvsle\\.wu.*lasx_xvsle_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsle_du:.*xvsle\\.du.*lasx_xvsle_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslei_bu:.*xvslei\\.bu.*lasx_xvslei_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslei_hu:.*xvslei\\.hu.*lasx_xvslei_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslei_wu:.*xvslei\\.wu.*lasx_xvslei_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvslei_du:.*xvslei\\.du.*lasx_xvslei_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsat_b:.*xvsat\\.b.*lasx_xvsat_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsat_h:.*xvsat\\.h.*lasx_xvsat_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsat_w:.*xvsat\\.w.*lasx_xvsat_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsat_d:.*xvsat\\.d.*lasx_xvsat_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsat_bu:.*xvsat\\.bu.*lasx_xvsat_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsat_hu:.*xvsat\\.hu.*lasx_xvsat_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsat_wu:.*xvsat\\.wu.*lasx_xvsat_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsat_du:.*xvsat\\.du.*lasx_xvsat_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvadda_b:.*xvadda\\.b.*lasx_xvadda_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvadda_h:.*xvadda\\.h.*lasx_xvadda_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvadda_w:.*xvadda\\.w.*lasx_xvadda_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvadda_d:.*xvadda\\.d.*lasx_xvadda_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsadd_b:.*xvsadd\\.b.*lasx_xvsadd_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsadd_h:.*xvsadd\\.h.*lasx_xvsadd_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsadd_w:.*xvsadd\\.w.*lasx_xvsadd_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsadd_d:.*xvsadd\\.d.*lasx_xvsadd_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsadd_bu:.*xvsadd\\.bu.*lasx_xvsadd_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsadd_hu:.*xvsadd\\.hu.*lasx_xvsadd_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsadd_wu:.*xvsadd\\.wu.*lasx_xvsadd_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsadd_du:.*xvsadd\\.du.*lasx_xvsadd_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvavg_b:.*xvavg\\.b.*lasx_xvavg_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvavg_h:.*xvavg\\.h.*lasx_xvavg_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvavg_w:.*xvavg\\.w.*lasx_xvavg_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvavg_d:.*xvavg\\.d.*lasx_xvavg_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvavg_bu:.*xvavg\\.bu.*lasx_xvavg_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvavg_hu:.*xvavg\\.hu.*lasx_xvavg_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvavg_wu:.*xvavg\\.wu.*lasx_xvavg_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvavg_du:.*xvavg\\.du.*lasx_xvavg_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvavgr_b:.*xvavgr\\.b.*lasx_xvavgr_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvavgr_h:.*xvavgr\\.h.*lasx_xvavgr_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvavgr_w:.*xvavgr\\.w.*lasx_xvavgr_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvavgr_d:.*xvavgr\\.d.*lasx_xvavgr_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvavgr_bu:.*xvavgr\\.bu.*lasx_xvavgr_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvavgr_hu:.*xvavgr\\.hu.*lasx_xvavgr_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvavgr_wu:.*xvavgr\\.wu.*lasx_xvavgr_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvavgr_du:.*xvavgr\\.du.*lasx_xvavgr_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssub_b:.*xvssub\\.b.*lasx_xvssub_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssub_h:.*xvssub\\.h.*lasx_xvssub_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssub_w:.*xvssub\\.w.*lasx_xvssub_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssub_d:.*xvssub\\.d.*lasx_xvssub_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssub_bu:.*xvssub\\.bu.*lasx_xvssub_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssub_hu:.*xvssub\\.hu.*lasx_xvssub_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssub_wu:.*xvssub\\.wu.*lasx_xvssub_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssub_du:.*xvssub\\.du.*lasx_xvssub_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvabsd_b:.*xvabsd\\.b.*lasx_xvabsd_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvabsd_h:.*xvabsd\\.h.*lasx_xvabsd_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvabsd_w:.*xvabsd\\.w.*lasx_xvabsd_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvabsd_d:.*xvabsd\\.d.*lasx_xvabsd_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvabsd_bu:.*xvabsd\\.bu.*lasx_xvabsd_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvabsd_hu:.*xvabsd\\.hu.*lasx_xvabsd_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvabsd_wu:.*xvabsd\\.wu.*lasx_xvabsd_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvabsd_du:.*xvabsd\\.du.*lasx_xvabsd_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmul_b:.*xvmul\\.b.*lasx_xvmul_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmul_h:.*xvmul\\.h.*lasx_xvmul_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmul_w:.*xvmul\\.w.*lasx_xvmul_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmul_d:.*xvmul\\.d.*lasx_xvmul_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmadd_b:.*xvmadd\\.b.*lasx_xvmadd_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmadd_h:.*xvmadd\\.h.*lasx_xvmadd_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmadd_w:.*xvmadd\\.w.*lasx_xvmadd_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmadd_d:.*xvmadd\\.d.*lasx_xvmadd_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmsub_b:.*xvmsub\\.b.*lasx_xvmsub_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmsub_h:.*xvmsub\\.h.*lasx_xvmsub_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmsub_w:.*xvmsub\\.w.*lasx_xvmsub_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmsub_d:.*xvmsub\\.d.*lasx_xvmsub_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvdiv_b:.*xvdiv\\.b.*lasx_xvdiv_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvdiv_h:.*xvdiv\\.h.*lasx_xvdiv_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvdiv_w:.*xvdiv\\.w.*lasx_xvdiv_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvdiv_d:.*xvdiv\\.d.*lasx_xvdiv_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvdiv_bu:.*xvdiv\\.bu.*lasx_xvdiv_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvdiv_hu:.*xvdiv\\.hu.*lasx_xvdiv_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvdiv_wu:.*xvdiv\\.wu.*lasx_xvdiv_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvdiv_du:.*xvdiv\\.du.*lasx_xvdiv_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvhaddw_h_b:.*xvhaddw\\.h\\.b.*lasx_xvhaddw_h_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvhaddw_w_h:.*xvhaddw\\.w\\.h.*lasx_xvhaddw_w_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvhaddw_d_w:.*xvhaddw\\.d\\.w.*lasx_xvhaddw_d_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvhaddw_hu_bu:.*xvhaddw\\.hu\\.bu.*lasx_xvhaddw_hu_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvhaddw_wu_hu:.*xvhaddw\\.wu\\.hu.*lasx_xvhaddw_wu_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvhaddw_du_wu:.*xvhaddw\\.du\\.wu.*lasx_xvhaddw_du_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvhsubw_h_b:.*xvhsubw\\.h\\.b.*lasx_xvhsubw_h_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvhsubw_w_h:.*xvhsubw\\.w\\.h.*lasx_xvhsubw_w_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvhsubw_d_w:.*xvhsubw\\.d\\.w.*lasx_xvhsubw_d_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvhsubw_hu_bu:.*xvhsubw\\.hu\\.bu.*lasx_xvhsubw_hu_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvhsubw_wu_hu:.*xvhsubw\\.wu\\.hu.*lasx_xvhsubw_wu_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvhsubw_du_wu:.*xvhsubw\\.du\\.wu.*lasx_xvhsubw_du_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmod_b:.*xvmod\\.b.*lasx_xvmod_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmod_h:.*xvmod\\.h.*lasx_xvmod_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmod_w:.*xvmod\\.w.*lasx_xvmod_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmod_d:.*xvmod\\.d.*lasx_xvmod_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmod_bu:.*xvmod\\.bu.*lasx_xvmod_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmod_hu:.*xvmod\\.hu.*lasx_xvmod_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmod_wu:.*xvmod\\.wu.*lasx_xvmod_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmod_du:.*xvmod\\.du.*lasx_xvmod_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvrepl128vei_b:.*xvrepl128vei\\.b.*lasx_xvrepl128vei_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvrepl128vei_h:.*xvrepl128vei\\.h.*lasx_xvrepl128vei_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvrepl128vei_w:.*xvrepl128vei\\.w.*lasx_xvrepl128vei_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvrepl128vei_d:.*xvrepl128vei\\.d.*lasx_xvrepl128vei_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpickev_b:.*xvpickev\\.b.*lasx_xvpickev_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpickev_h:.*xvpickev\\.h.*lasx_xvpickev_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpickev_w:.*xvpickev\\.w.*lasx_xvpickev_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpickev_d:.*xvilvl\\.d.*lasx_xvpickev_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpickod_b:.*xvpickod\\.b.*lasx_xvpickod_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpickod_h:.*xvpickod\\.h.*lasx_xvpickod_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpickod_w:.*xvpickod\\.w.*lasx_xvpickod_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpickod_d:.*xvilvh\\.d.*lasx_xvpickod_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvilvh_b:.*xvilvh\\.b.*lasx_xvilvh_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvilvh_h:.*xvilvh\\.h.*lasx_xvilvh_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvilvh_w:.*xvilvh\\.w.*lasx_xvilvh_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvilvh_d:.*xvilvh\\.d.*lasx_xvilvh_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvilvl_b:.*xvilvl\\.b.*lasx_xvilvl_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvilvl_h:.*xvilvl\\.h.*lasx_xvilvl_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvilvl_w:.*xvilvl\\.w.*lasx_xvilvl_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvilvl_d:.*xvilvl\\.d.*lasx_xvilvl_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpackev_b:.*xvpackev\\.b.*lasx_xvpackev_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpackev_h:.*xvpackev\\.h.*lasx_xvpackev_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpackev_w:.*xvpackev\\.w.*lasx_xvpackev_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpackev_d:.*xvilvl\\.d.*lasx_xvpackev_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpackod_b:.*xvpackod\\.b.*lasx_xvpackod_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpackod_h:.*xvpackod\\.h.*lasx_xvpackod_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpackod_w:.*xvpackod\\.w.*lasx_xvpackod_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpackod_d:.*xvilvh\\.d.*lasx_xvpackod_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvshuf_b:.*xvshuf\\.b.*lasx_xvshuf_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvshuf_h:.*xvshuf\\.h.*lasx_xvshuf_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvshuf_w:.*xvshuf\\.w.*lasx_xvshuf_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvshuf_d:.*xvshuf\\.d.*lasx_xvshuf_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvand_v:.*xvand\\.v.*lasx_xvand_v" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvandi_b:.*xvandi\\.b.*lasx_xvandi_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvor_v:.*xvor\\.v.*lasx_xvor_v" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvori_b:.*xvbitseti\\.b.*lasx_xvori_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvnor_v:.*xvnor\\.v.*lasx_xvnor_v" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvnori_b:.*xvnori\\.b.*lasx_xvnori_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvxor_v:.*xvxor\\.v.*lasx_xvxor_v" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvxori_b:.*xvbitrevi\\.b.*lasx_xvxori_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitsel_v:.*xvbitsel\\.v.*lasx_xvbitsel_v" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbitseli_b:.*xvbitseli\\.b.*lasx_xvbitseli_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvshuf4i_b:.*xvshuf4i\\.b.*lasx_xvshuf4i_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvshuf4i_h:.*xvshuf4i\\.h.*lasx_xvshuf4i_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvshuf4i_w:.*xvshuf4i\\.w.*lasx_xvshuf4i_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvreplgr2vr_b:.*xvreplgr2vr\\.b.*lasx_xvreplgr2vr_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvreplgr2vr_h:.*xvreplgr2vr\\.h.*lasx_xvreplgr2vr_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvreplgr2vr_w:.*xvreplgr2vr\\.w.*lasx_xvreplgr2vr_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvreplgr2vr_d:.*xvreplgr2vr\\.d.*lasx_xvreplgr2vr_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpcnt_b:.*xvpcnt\\.b.*lasx_xvpcnt_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpcnt_h:.*xvpcnt\\.h.*lasx_xvpcnt_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpcnt_w:.*xvpcnt\\.w.*lasx_xvpcnt_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpcnt_d:.*xvpcnt\\.d.*lasx_xvpcnt_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvclo_b:.*xvclo\\.b.*lasx_xvclo_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvclo_h:.*xvclo\\.h.*lasx_xvclo_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvclo_w:.*xvclo\\.w.*lasx_xvclo_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvclo_d:.*xvclo\\.d.*lasx_xvclo_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvclz_b:.*xvclz\\.b.*lasx_xvclz_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvclz_h:.*xvclz\\.h.*lasx_xvclz_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvclz_w:.*xvclz\\.w.*lasx_xvclz_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvclz_d:.*xvclz\\.d.*lasx_xvclz_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfadd_s:.*xvfadd\\.s.*lasx_xvfadd_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfadd_d:.*xvfadd\\.d.*lasx_xvfadd_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfsub_s:.*xvfsub\\.s.*lasx_xvfsub_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfsub_d:.*xvfsub\\.d.*lasx_xvfsub_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfmul_s:.*xvfmul\\.s.*lasx_xvfmul_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfmul_d:.*xvfmul\\.d.*lasx_xvfmul_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfdiv_s:.*xvfdiv\\.s.*lasx_xvfdiv_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfdiv_d:.*xvfdiv\\.d.*lasx_xvfdiv_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcvt_h_s:.*xvfcvt\\.h\\.s.*lasx_xvfcvt_h_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcvt_s_d:.*xvfcvt\\.s\\.d.*lasx_xvfcvt_s_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfmin_s:.*xvfmin\\.s.*lasx_xvfmin_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfmin_d:.*xvfmin\\.d.*lasx_xvfmin_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfmina_s:.*xvfmina\\.s.*lasx_xvfmina_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfmina_d:.*xvfmina\\.d.*lasx_xvfmina_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfmax_s:.*xvfmax\\.s.*lasx_xvfmax_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfmax_d:.*xvfmax\\.d.*lasx_xvfmax_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfmaxa_s:.*xvfmaxa\\.s.*lasx_xvfmaxa_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfmaxa_d:.*xvfmaxa\\.d.*lasx_xvfmaxa_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfclass_s:.*xvfclass\\.s.*lasx_xvfclass_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfclass_d:.*xvfclass\\.d.*lasx_xvfclass_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfsqrt_s:.*xvfsqrt\\.s.*lasx_xvfsqrt_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfsqrt_d:.*xvfsqrt\\.d.*lasx_xvfsqrt_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrecip_s:.*xvfrecip\\.s.*lasx_xvfrecip_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrecip_d:.*xvfrecip\\.d.*lasx_xvfrecip_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrint_s:.*xvfrint\\.s.*lasx_xvfrint_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrint_d:.*xvfrint\\.d.*lasx_xvfrint_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrsqrt_s:.*xvfrsqrt\\.s.*lasx_xvfrsqrt_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrsqrt_d:.*xvfrsqrt\\.d.*lasx_xvfrsqrt_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvflogb_s:.*xvflogb\\.s.*lasx_xvflogb_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvflogb_d:.*xvflogb\\.d.*lasx_xvflogb_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcvth_s_h:.*xvfcvth\\.s\\.h.*lasx_xvfcvth_s_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcvth_d_s:.*xvfcvth\\.d\\.s.*lasx_xvfcvth_d_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcvtl_s_h:.*xvfcvtl\\.s\\.h.*lasx_xvfcvtl_s_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcvtl_d_s:.*xvfcvtl\\.d\\.s.*lasx_xvfcvtl_d_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftint_w_s:.*xvftint\\.w\\.s.*lasx_xvftint_w_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftint_l_d:.*xvftint\\.l\\.d.*lasx_xvftint_l_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftint_wu_s:.*xvftint\\.wu\\.s.*lasx_xvftint_wu_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftint_lu_d:.*xvftint\\.lu\\.d.*lasx_xvftint_lu_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrz_w_s:.*xvftintrz\\.w\\.s.*lasx_xvftintrz_w_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrz_l_d:.*xvftintrz\\.l\\.d.*lasx_xvftintrz_l_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrz_wu_s:.*xvftintrz\\.wu\\.s.*lasx_xvftintrz_wu_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrz_lu_d:.*xvftintrz\\.lu\\.d.*lasx_xvftintrz_lu_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvffint_s_w:.*xvffint\\.s\\.w.*lasx_xvffint_s_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvffint_d_l:.*xvffint\\.d\\.l.*lasx_xvffint_d_l" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvffint_s_wu:.*xvffint\\.s\\.wu.*lasx_xvffint_s_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvffint_d_lu:.*xvffint\\.d\\.lu.*lasx_xvffint_d_lu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvreplve_b:.*xvreplve\\.b.*lasx_xvreplve_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvreplve_h:.*xvreplve\\.h.*lasx_xvreplve_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvreplve_w:.*xvreplve\\.w.*lasx_xvreplve_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvreplve_d:.*xvreplve\\.d.*lasx_xvreplve_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpermi_w:.*xvpermi\\.w.*lasx_xvpermi_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvandn_v:.*xvandn\\.v.*lasx_xvandn_v" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvneg_b:.*xvneg\\.b.*lasx_xvneg_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvneg_h:.*xvneg\\.h.*lasx_xvneg_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvneg_w:.*xvneg\\.w.*lasx_xvneg_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvneg_d:.*xvneg\\.d.*lasx_xvneg_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmuh_b:.*xvmuh\\.b.*lasx_xvmuh_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmuh_h:.*xvmuh\\.h.*lasx_xvmuh_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmuh_w:.*xvmuh\\.w.*lasx_xvmuh_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmuh_d:.*xvmuh\\.d.*lasx_xvmuh_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmuh_bu:.*xvmuh\\.bu.*lasx_xvmuh_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmuh_hu:.*xvmuh\\.hu.*lasx_xvmuh_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmuh_wu:.*xvmuh\\.wu.*lasx_xvmuh_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmuh_du:.*xvmuh\\.du.*lasx_xvmuh_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsllwil_h_b:.*xvsllwil\\.h\\.b.*lasx_xvsllwil_h_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsllwil_w_h:.*xvsllwil\\.w\\.h.*lasx_xvsllwil_w_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsllwil_d_w:.*xvsllwil\\.d\\.w.*lasx_xvsllwil_d_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsllwil_hu_bu:.*xvsllwil\\.hu\\.bu.*lasx_xvsllwil_hu_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsllwil_wu_hu:.*xvsllwil\\.wu\\.hu.*lasx_xvsllwil_wu_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsllwil_du_wu:.*xvsllwil\\.du\\.wu.*lasx_xvsllwil_du_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsran_b_h:.*xvsran\\.b\\.h.*lasx_xvsran_b_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsran_h_w:.*xvsran\\.h\\.w.*lasx_xvsran_h_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsran_w_d:.*xvsran\\.w\\.d.*lasx_xvsran_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssran_b_h:.*xvssran\\.b\\.h.*lasx_xvssran_b_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssran_h_w:.*xvssran\\.h\\.w.*lasx_xvssran_h_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssran_w_d:.*xvssran\\.w\\.d.*lasx_xvssran_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssran_bu_h:.*xvssran\\.bu\\.h.*lasx_xvssran_bu_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssran_hu_w:.*xvssran\\.hu\\.w.*lasx_xvssran_hu_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssran_wu_d:.*xvssran\\.wu\\.d.*lasx_xvssran_wu_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrarn_b_h:.*xvsrarn\\.b\\.h.*lasx_xvsrarn_b_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrarn_h_w:.*xvsrarn\\.h\\.w.*lasx_xvsrarn_h_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrarn_w_d:.*xvsrarn\\.w\\.d.*lasx_xvsrarn_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrarn_b_h:.*xvssrarn\\.b\\.h.*lasx_xvssrarn_b_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrarn_h_w:.*xvssrarn\\.h\\.w.*lasx_xvssrarn_h_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrarn_w_d:.*xvssrarn\\.w\\.d.*lasx_xvssrarn_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrarn_bu_h:.*xvssrarn\\.bu\\.h.*lasx_xvssrarn_bu_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrarn_hu_w:.*xvssrarn\\.hu\\.w.*lasx_xvssrarn_hu_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrarn_wu_d:.*xvssrarn\\.wu\\.d.*lasx_xvssrarn_wu_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrln_b_h:.*xvsrln\\.b\\.h.*lasx_xvsrln_b_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrln_h_w:.*xvsrln\\.h\\.w.*lasx_xvsrln_h_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrln_w_d:.*xvsrln\\.w\\.d.*lasx_xvsrln_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrln_bu_h:.*xvssrln\\.bu\\.h.*lasx_xvssrln_bu_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrln_hu_w:.*xvssrln\\.hu\\.w.*lasx_xvssrln_hu_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrln_wu_d:.*xvssrln\\.wu\\.d.*lasx_xvssrln_wu_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlrn_b_h:.*xvsrlrn\\.b\\.h.*lasx_xvsrlrn_b_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlrn_h_w:.*xvsrlrn\\.h\\.w.*lasx_xvsrlrn_h_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlrn_w_d:.*xvsrlrn\\.w\\.d.*lasx_xvsrlrn_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlrn_bu_h:.*xvssrlrn\\.bu\\.h.*lasx_xvssrlrn_bu_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlrn_hu_w:.*xvssrlrn\\.hu\\.w.*lasx_xvssrlrn_hu_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlrn_wu_d:.*xvssrlrn\\.wu\\.d.*lasx_xvssrlrn_wu_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrstpi_b:.*xvfrstpi\\.b.*lasx_xvfrstpi_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrstpi_h:.*xvfrstpi\\.h.*lasx_xvfrstpi_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrstp_b:.*xvfrstp\\.b.*lasx_xvfrstp_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrstp_h:.*xvfrstp\\.h.*lasx_xvfrstp_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvshuf4i_d:.*xvshuf4i\\.d.*lasx_xvshuf4i_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbsrl_v:.*xvbsrl\\.v.*lasx_xvbsrl_v" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvbsll_v:.*xvbsll\\.v.*lasx_xvbsll_v" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvextrins_b:.*xvextrins\\.b.*lasx_xvextrins_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvextrins_h:.*xvextrins\\.h.*lasx_xvextrins_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvextrins_w:.*xvextrins\\.w.*lasx_xvextrins_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvextrins_d:.*xvextrins\\.d.*lasx_xvextrins_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmskltz_b:.*xvmskltz\\.b.*lasx_xvmskltz_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmskltz_h:.*xvmskltz\\.h.*lasx_xvmskltz_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmskltz_w:.*xvmskltz\\.w.*lasx_xvmskltz_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmskltz_d:.*xvmskltz\\.d.*lasx_xvmskltz_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsigncov_b:.*xvsigncov\\.b.*lasx_xvsigncov_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsigncov_h:.*xvsigncov\\.h.*lasx_xvsigncov_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsigncov_w:.*xvsigncov\\.w.*lasx_xvsigncov_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsigncov_d:.*xvsigncov\\.d.*lasx_xvsigncov_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfmadd_s:.*xvfmadd\\.s.*lasx_xvfmadd_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfmadd_d:.*xvfmadd\\.d.*lasx_xvfmadd_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfmsub_s:.*xvfmsub\\.s.*lasx_xvfmsub_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfmsub_d:.*xvfmsub\\.d.*lasx_xvfmsub_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfnmadd_s:.*xvfnmadd\\.s.*lasx_xvfnmadd_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfnmadd_d:.*xvfnmadd\\.d.*lasx_xvfnmadd_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfnmsub_s:.*xvfnmsub\\.s.*lasx_xvfnmsub_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfnmsub_d:.*xvfnmsub\\.d.*lasx_xvfnmsub_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrne_w_s:.*xvftintrne\\.w\\.s.*lasx_xvftintrne_w_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrne_l_d:.*xvftintrne\\.l\\.d.*lasx_xvftintrne_l_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrp_w_s:.*xvftintrp\\.w\\.s.*lasx_xvftintrp_w_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrp_l_d:.*xvftintrp\\.l\\.d.*lasx_xvftintrp_l_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrm_w_s:.*xvftintrm\\.w\\.s.*lasx_xvftintrm_w_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrm_l_d:.*xvftintrm\\.l\\.d.*lasx_xvftintrm_l_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftint_w_d:.*xvftint\\.w\\.d.*lasx_xvftint_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvffint_s_l:.*xvffint\\.s\\.l.*lasx_xvffint_s_l" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrz_w_d:.*xvftintrz\\.w\\.d.*lasx_xvftintrz_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrp_w_d:.*xvftintrp\\.w\\.d.*lasx_xvftintrp_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrm_w_d:.*xvftintrm\\.w\\.d.*lasx_xvftintrm_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrne_w_d:.*xvftintrne\\.w\\.d.*lasx_xvftintrne_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftinth_l_s:.*xvftinth\\.l\\.s.*lasx_xvftinth_l_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintl_l_s:.*xvftintl\\.l\\.s.*lasx_xvftintl_l_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvffinth_d_w:.*xvffinth\\.d\\.w.*lasx_xvffinth_d_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvffintl_d_w:.*xvffintl\\.d\\.w.*lasx_xvffintl_d_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrzh_l_s:.*xvftintrzh\\.l\\.s.*lasx_xvftintrzh_l_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrzl_l_s:.*xvftintrzl\\.l\\.s.*lasx_xvftintrzl_l_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrph_l_s:.*xvftintrph\\.l\\.s.*lasx_xvftintrph_l_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrpl_l_s:.*xvftintrpl\\.l\\.s.*lasx_xvftintrpl_l_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrmh_l_s:.*xvftintrmh\\.l\\.s.*lasx_xvftintrmh_l_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrml_l_s:.*xvftintrml\\.l\\.s.*lasx_xvftintrml_l_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrneh_l_s:.*xvftintrneh\\.l\\.s.*lasx_xvftintrneh_l_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvftintrnel_l_s:.*xvftintrnel\\.l\\.s.*lasx_xvftintrnel_l_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrintrne_s:.*xvfrintrne\\.s.*lasx_xvfrintrne_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrintrne_d:.*xvfrintrne\\.d.*lasx_xvfrintrne_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrintrz_s:.*xvfrintrz\\.s.*lasx_xvfrintrz_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrintrz_d:.*xvfrintrz\\.d.*lasx_xvfrintrz_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrintrp_s:.*xvfrintrp\\.s.*lasx_xvfrintrp_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrintrp_d:.*xvfrintrp\\.d.*lasx_xvfrintrp_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrintrm_s:.*xvfrintrm\\.s.*lasx_xvfrintrm_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfrintrm_d:.*xvfrintrm\\.d.*lasx_xvfrintrm_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvld:.*xvld.*lasx_xvld" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvst:.*xvst.*lasx_xvst" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvstelm_b:.*xvstelm\\.b.*lasx_xvstelm_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvstelm_h:.*xvstelm\\.h.*lasx_xvstelm_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvstelm_w:.*xvstelm\\.w.*lasx_xvstelm_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvstelm_d:.*xvstelm\\.d.*lasx_xvstelm_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvinsve0_w:.*xvinsve0\\.w.*lasx_xvinsve0_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvinsve0_d:.*xvinsve0\\.d.*lasx_xvinsve0_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpickve_w:.*xvpickve\\.w.*lasx_xvpickve_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpickve_d:.*xvpickve\\.d.*lasx_xvpickve_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlrn_b_h:.*xvssrlrn\\.b\\.h.*lasx_xvssrlrn_b_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlrn_h_w:.*xvssrlrn\\.h\\.w.*lasx_xvssrlrn_h_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlrn_w_d:.*xvssrlrn\\.w\\.d.*lasx_xvssrlrn_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrln_b_h:.*xvssrln\\.b\\.h.*lasx_xvssrln_b_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrln_h_w:.*xvssrln\\.h\\.w.*lasx_xvssrln_h_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrln_w_d:.*xvssrln\\.w\\.d.*lasx_xvssrln_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvorn_v:.*xvorn\\.v.*lasx_xvorn_v" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvldi:.*xvldi.*lasx_xvldi" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvldx:.*xvldx.*lasx_xvldx" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvstx:.*xvstx.*lasx_xvstx" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvextl_qu_du:.*xvextl\\.qu\\.du.*lasx_xvextl_qu_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvinsgr2vr_w:.*xvinsgr2vr\\.w.*lasx_xvinsgr2vr_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvinsgr2vr_d:.*xvinsgr2vr\\.d.*lasx_xvinsgr2vr_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvreplve0_b:.*xvreplve0\\.b.*lasx_xvreplve0_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvreplve0_h:.*xvreplve0\\.h.*lasx_xvreplve0_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvreplve0_w:.*xvreplve0\\.w.*lasx_xvreplve0_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvreplve0_d:.*xvreplve0\\.d.*lasx_xvreplve0_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvreplve0_q:.*xvreplve0\\.q.*lasx_xvreplve0_q" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_vext2xv_h_b:.*vext2xv\\.h\\.b.*lasx_vext2xv_h_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_vext2xv_w_h:.*vext2xv\\.w\\.h.*lasx_vext2xv_w_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_vext2xv_d_w:.*vext2xv\\.d\\.w.*lasx_vext2xv_d_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_vext2xv_w_b:.*vext2xv\\.w\\.b.*lasx_vext2xv_w_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_vext2xv_d_h:.*vext2xv\\.d\\.h.*lasx_vext2xv_d_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_vext2xv_d_b:.*vext2xv\\.d\\.b.*lasx_vext2xv_d_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_vext2xv_hu_bu:.*vext2xv\\.hu\\.bu.*lasx_vext2xv_hu_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_vext2xv_wu_hu:.*vext2xv\\.wu\\.hu.*lasx_vext2xv_wu_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_vext2xv_du_wu:.*vext2xv\\.du\\.wu.*lasx_vext2xv_du_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_vext2xv_wu_bu:.*vext2xv\\.wu\\.bu.*lasx_vext2xv_wu_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_vext2xv_du_hu:.*vext2xv\\.du\\.hu.*lasx_vext2xv_du_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_vext2xv_du_bu:.*vext2xv\\.du\\.bu.*lasx_vext2xv_du_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpermi_q:.*xvpermi\\.q.*lasx_xvpermi_q" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpermi_d:.*xvpermi\\.d.*lasx_xvpermi_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvperm_w:.*xvperm\\.w.*lasx_xvperm_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvldrepl_b:.*xvldrepl\\.b.*lasx_xvldrepl_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvldrepl_h:.*xvldrepl\\.h.*lasx_xvldrepl_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvldrepl_w:.*xvldrepl\\.w.*lasx_xvldrepl_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvldrepl_d:.*xvldrepl\\.d.*lasx_xvldrepl_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpickve2gr_w:.*xvpickve2gr\\.w.*lasx_xvpickve2gr_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpickve2gr_wu:.*xvpickve2gr\\.wu.*lasx_xvpickve2gr_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpickve2gr_d:.*xvpickve2gr\\.d.*lasx_xvpickve2gr_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpickve2gr_du:.*xvpickve2gr\\.du.*lasx_xvpickve2gr_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwev_q_d:.*xvaddwev\\.q\\.d.*lasx_xvaddwev_q_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwev_d_w:.*xvaddwev\\.d\\.w.*lasx_xvaddwev_d_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwev_w_h:.*xvaddwev\\.w\\.h.*lasx_xvaddwev_w_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwev_h_b:.*xvaddwev\\.h\\.b.*lasx_xvaddwev_h_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwev_q_du:.*xvaddwev\\.q\\.du.*lasx_xvaddwev_q_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwev_d_wu:.*xvaddwev\\.d\\.wu.*lasx_xvaddwev_d_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwev_w_hu:.*xvaddwev\\.w\\.hu.*lasx_xvaddwev_w_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwev_h_bu:.*xvaddwev\\.h\\.bu.*lasx_xvaddwev_h_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubwev_q_d:.*xvsubwev\\.q\\.d.*lasx_xvsubwev_q_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubwev_d_w:.*xvsubwev\\.d\\.w.*lasx_xvsubwev_d_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubwev_w_h:.*xvsubwev\\.w\\.h.*lasx_xvsubwev_w_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubwev_h_b:.*xvsubwev\\.h\\.b.*lasx_xvsubwev_h_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubwev_q_du:.*xvsubwev\\.q\\.du.*lasx_xvsubwev_q_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubwev_d_wu:.*xvsubwev\\.d\\.wu.*lasx_xvsubwev_d_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubwev_w_hu:.*xvsubwev\\.w\\.hu.*lasx_xvsubwev_w_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubwev_h_bu:.*xvsubwev\\.h\\.bu.*lasx_xvsubwev_h_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwev_q_d:.*xvmulwev\\.q\\.d.*lasx_xvmulwev_q_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwev_d_w:.*xvmulwev\\.d\\.w.*lasx_xvmulwev_d_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwev_w_h:.*xvmulwev\\.w\\.h.*lasx_xvmulwev_w_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwev_h_b:.*xvmulwev\\.h\\.b.*lasx_xvmulwev_h_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwev_q_du:.*xvmulwev\\.q\\.du.*lasx_xvmulwev_q_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwev_d_wu:.*xvmulwev\\.d\\.wu.*lasx_xvmulwev_d_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwev_w_hu:.*xvmulwev\\.w\\.hu.*lasx_xvmulwev_w_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwev_h_bu:.*xvmulwev\\.h\\.bu.*lasx_xvmulwev_h_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwod_q_d:.*xvaddwod\\.q\\.d.*lasx_xvaddwod_q_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwod_d_w:.*xvaddwod\\.d\\.w.*lasx_xvaddwod_d_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwod_w_h:.*xvaddwod\\.w\\.h.*lasx_xvaddwod_w_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwod_h_b:.*xvaddwod\\.h\\.b.*lasx_xvaddwod_h_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwod_q_du:.*xvaddwod\\.q\\.du.*lasx_xvaddwod_q_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwod_d_wu:.*xvaddwod\\.d\\.wu.*lasx_xvaddwod_d_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwod_w_hu:.*xvaddwod\\.w\\.hu.*lasx_xvaddwod_w_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwod_h_bu:.*xvaddwod\\.h\\.bu.*lasx_xvaddwod_h_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubwod_q_d:.*xvsubwod\\.q\\.d.*lasx_xvsubwod_q_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubwod_d_w:.*xvsubwod\\.d\\.w.*lasx_xvsubwod_d_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubwod_w_h:.*xvsubwod\\.w\\.h.*lasx_xvsubwod_w_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubwod_h_b:.*xvsubwod\\.h\\.b.*lasx_xvsubwod_h_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubwod_q_du:.*xvsubwod\\.q\\.du.*lasx_xvsubwod_q_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubwod_d_wu:.*xvsubwod\\.d\\.wu.*lasx_xvsubwod_d_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubwod_w_hu:.*xvsubwod\\.w\\.hu.*lasx_xvsubwod_w_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsubwod_h_bu:.*xvsubwod\\.h\\.bu.*lasx_xvsubwod_h_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwod_q_d:.*xvmulwod\\.q\\.d.*lasx_xvmulwod_q_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwod_d_w:.*xvmulwod\\.d\\.w.*lasx_xvmulwod_d_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwod_w_h:.*xvmulwod\\.w\\.h.*lasx_xvmulwod_w_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwod_h_b:.*xvmulwod\\.h\\.b.*lasx_xvmulwod_h_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwod_q_du:.*xvmulwod\\.q\\.du.*lasx_xvmulwod_q_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwod_d_wu:.*xvmulwod\\.d\\.wu.*lasx_xvmulwod_d_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwod_w_hu:.*xvmulwod\\.w\\.hu.*lasx_xvmulwod_w_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwod_h_bu:.*xvmulwod\\.h\\.bu.*lasx_xvmulwod_h_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwev_d_wu_w:.*xvaddwev\\.d\\.wu\\.w.*lasx_xvaddwev_d_wu_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwev_w_hu_h:.*xvaddwev\\.w\\.hu\\.h.*lasx_xvaddwev_w_hu_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwev_h_bu_b:.*xvaddwev\\.h\\.bu\\.b.*lasx_xvaddwev_h_bu_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwev_d_wu_w:.*xvmulwev\\.d\\.wu\\.w.*lasx_xvmulwev_d_wu_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwev_w_hu_h:.*xvmulwev\\.w\\.hu\\.h.*lasx_xvmulwev_w_hu_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwev_h_bu_b:.*xvmulwev\\.h\\.bu\\.b.*lasx_xvmulwev_h_bu_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwod_d_wu_w:.*xvaddwod\\.d\\.wu\\.w.*lasx_xvaddwod_d_wu_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwod_w_hu_h:.*xvaddwod\\.w\\.hu\\.h.*lasx_xvaddwod_w_hu_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwod_h_bu_b:.*xvaddwod\\.h\\.bu\\.b.*lasx_xvaddwod_h_bu_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwod_d_wu_w:.*xvmulwod\\.d\\.wu\\.w.*lasx_xvmulwod_d_wu_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwod_w_hu_h:.*xvmulwod\\.w\\.hu\\.h.*lasx_xvmulwod_w_hu_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwod_h_bu_b:.*xvmulwod\\.h\\.bu\\.b.*lasx_xvmulwod_h_bu_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvhaddw_q_d:.*xvhaddw\\.q\\.d.*lasx_xvhaddw_q_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvhaddw_qu_du:.*xvhaddw\\.qu\\.du.*lasx_xvhaddw_qu_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvhsubw_q_d:.*xvhsubw\\.q\\.d.*lasx_xvhsubw_q_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvhsubw_qu_du:.*xvhsubw\\.qu\\.du.*lasx_xvhsubw_qu_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwev_q_d:.*xvmaddwev\\.q\\.d.*lasx_xvmaddwev_q_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwev_d_w:.*xvmaddwev\\.d\\.w.*lasx_xvmaddwev_d_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwev_w_h:.*xvmaddwev\\.w\\.h.*lasx_xvmaddwev_w_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwev_h_b:.*xvmaddwev\\.h\\.b.*lasx_xvmaddwev_h_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwev_q_du:.*xvmaddwev\\.q\\.du.*lasx_xvmaddwev_q_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwev_d_wu:.*xvmaddwev\\.d\\.wu.*lasx_xvmaddwev_d_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwev_w_hu:.*xvmaddwev\\.w\\.hu.*lasx_xvmaddwev_w_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwev_h_bu:.*xvmaddwev\\.h\\.bu.*lasx_xvmaddwev_h_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwod_q_d:.*xvmaddwod\\.q\\.d.*lasx_xvmaddwod_q_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwod_d_w:.*xvmaddwod\\.d\\.w.*lasx_xvmaddwod_d_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwod_w_h:.*xvmaddwod\\.w\\.h.*lasx_xvmaddwod_w_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwod_h_b:.*xvmaddwod\\.h\\.b.*lasx_xvmaddwod_h_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwod_q_du:.*xvmaddwod\\.q\\.du.*lasx_xvmaddwod_q_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwod_d_wu:.*xvmaddwod\\.d\\.wu.*lasx_xvmaddwod_d_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwod_w_hu:.*xvmaddwod\\.w\\.hu.*lasx_xvmaddwod_w_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwod_h_bu:.*xvmaddwod\\.h\\.bu.*lasx_xvmaddwod_h_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwev_q_du_d:.*xvmaddwev\\.q\\.du\\.d.*lasx_xvmaddwev_q_du_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwev_d_wu_w:.*xvmaddwev\\.d\\.wu\\.w.*lasx_xvmaddwev_d_wu_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwev_w_hu_h:.*xvmaddwev\\.w\\.hu\\.h.*lasx_xvmaddwev_w_hu_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwev_h_bu_b:.*xvmaddwev\\.h\\.bu\\.b.*lasx_xvmaddwev_h_bu_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwod_q_du_d:.*xvmaddwod\\.q\\.du\\.d.*lasx_xvmaddwod_q_du_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwod_d_wu_w:.*xvmaddwod\\.d\\.wu\\.w.*lasx_xvmaddwod_d_wu_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwod_w_hu_h:.*xvmaddwod\\.w\\.hu\\.h.*lasx_xvmaddwod_w_hu_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmaddwod_h_bu_b:.*xvmaddwod\\.h\\.bu\\.b.*lasx_xvmaddwod_h_bu_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvrotr_b:.*xvrotr\\.b.*lasx_xvrotr_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvrotr_h:.*xvrotr\\.h.*lasx_xvrotr_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvrotr_w:.*xvrotr\\.w.*lasx_xvrotr_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvrotr_d:.*xvrotr\\.d.*lasx_xvrotr_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvadd_q:.*xvadd\\.q.*lasx_xvadd_q" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsub_q:.*xvsub\\.q.*lasx_xvsub_q" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwev_q_du_d:.*xvaddwev\\.q\\.du\\.d.*lasx_xvaddwev_q_du_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvaddwod_q_du_d:.*xvaddwod\\.q\\.du\\.d.*lasx_xvaddwod_q_du_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwev_q_du_d:.*xvmulwev\\.q\\.du\\.d.*lasx_xvmulwev_q_du_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmulwod_q_du_d:.*xvmulwod\\.q\\.du\\.d.*lasx_xvmulwod_q_du_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmskgez_b:.*xvmskgez\\.b.*lasx_xvmskgez_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvmsknz_b:.*xvmsknz\\.b.*lasx_xvmsknz_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvexth_h_b:.*xvexth\\.h\\.b.*lasx_xvexth_h_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvexth_w_h:.*xvexth\\.w\\.h.*lasx_xvexth_w_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvexth_d_w:.*xvexth\\.d\\.w.*lasx_xvexth_d_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvexth_q_d:.*xvexth\\.q\\.d.*lasx_xvexth_q_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvexth_hu_bu:.*xvexth\\.hu\\.bu.*lasx_xvexth_hu_bu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvexth_wu_hu:.*xvexth\\.wu\\.hu.*lasx_xvexth_wu_hu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvexth_du_wu:.*xvexth\\.du\\.wu.*lasx_xvexth_du_wu" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvexth_qu_du:.*xvexth\\.qu\\.du.*lasx_xvexth_qu_du" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvrotri_b:.*xvrotri\\.b.*lasx_xvrotri_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvrotri_h:.*xvrotri\\.h.*lasx_xvrotri_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvrotri_w:.*xvrotri\\.w.*lasx_xvrotri_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvrotri_d:.*xvrotri\\.d.*lasx_xvrotri_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvextl_q_d:.*xvextl\\.q\\.d.*lasx_xvextl_q_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlni_b_h:.*xvsrlni\\.b\\.h.*lasx_xvsrlni_b_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlni_h_w:.*xvsrlni\\.h\\.w.*lasx_xvsrlni_h_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlni_w_d:.*xvsrlni\\.w\\.d.*lasx_xvsrlni_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlni_d_q:.*xvsrlni\\.d\\.q.*lasx_xvsrlni_d_q" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlrni_b_h:.*xvsrlrni\\.b\\.h.*lasx_xvsrlrni_b_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlrni_h_w:.*xvsrlrni\\.h\\.w.*lasx_xvsrlrni_h_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlrni_w_d:.*xvsrlrni\\.w\\.d.*lasx_xvsrlrni_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrlrni_d_q:.*xvsrlrni\\.d\\.q.*lasx_xvsrlrni_d_q" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlni_b_h:.*xvssrlni\\.b\\.h.*lasx_xvssrlni_b_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlni_h_w:.*xvssrlni\\.h\\.w.*lasx_xvssrlni_h_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlni_w_d:.*xvssrlni\\.w\\.d.*lasx_xvssrlni_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlni_d_q:.*xvssrlni\\.d\\.q.*lasx_xvssrlni_d_q" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlni_bu_h:.*xvssrlni\\.bu\\.h.*lasx_xvssrlni_bu_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlni_hu_w:.*xvssrlni\\.hu\\.w.*lasx_xvssrlni_hu_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlni_wu_d:.*xvssrlni\\.wu\\.d.*lasx_xvssrlni_wu_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlni_du_q:.*xvssrlni\\.du\\.q.*lasx_xvssrlni_du_q" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlrni_b_h:.*xvssrlrni\\.b\\.h.*lasx_xvssrlrni_b_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlrni_h_w:.*xvssrlrni\\.h\\.w.*lasx_xvssrlrni_h_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlrni_w_d:.*xvssrlrni\\.w\\.d.*lasx_xvssrlrni_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlrni_d_q:.*xvssrlrni\\.d\\.q.*lasx_xvssrlrni_d_q" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlrni_bu_h:.*xvssrlrni\\.bu\\.h.*lasx_xvssrlrni_bu_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlrni_hu_w:.*xvssrlrni\\.hu\\.w.*lasx_xvssrlrni_hu_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlrni_wu_d:.*xvssrlrni\\.wu\\.d.*lasx_xvssrlrni_wu_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrlrni_du_q:.*xvssrlrni\\.du\\.q.*lasx_xvssrlrni_du_q" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrani_b_h:.*xvsrani\\.b\\.h.*lasx_xvsrani_b_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrani_h_w:.*xvsrani\\.h\\.w.*lasx_xvsrani_h_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrani_w_d:.*xvsrani\\.w\\.d.*lasx_xvsrani_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrani_d_q:.*xvsrani\\.d\\.q.*lasx_xvsrani_d_q" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrarni_b_h:.*xvsrarni\\.b\\.h.*lasx_xvsrarni_b_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrarni_h_w:.*xvsrarni\\.h\\.w.*lasx_xvsrarni_h_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrarni_w_d:.*xvsrarni\\.w\\.d.*lasx_xvsrarni_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvsrarni_d_q:.*xvsrarni\\.d\\.q.*lasx_xvsrarni_d_q" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrani_b_h:.*xvssrani\\.b\\.h.*lasx_xvssrani_b_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrani_h_w:.*xvssrani\\.h\\.w.*lasx_xvssrani_h_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrani_w_d:.*xvssrani\\.w\\.d.*lasx_xvssrani_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrani_d_q:.*xvssrani\\.d\\.q.*lasx_xvssrani_d_q" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrani_bu_h:.*xvssrani\\.bu\\.h.*lasx_xvssrani_bu_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrani_hu_w:.*xvssrani\\.hu\\.w.*lasx_xvssrani_hu_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrani_wu_d:.*xvssrani\\.wu\\.d.*lasx_xvssrani_wu_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrani_du_q:.*xvssrani\\.du\\.q.*lasx_xvssrani_du_q" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrarni_b_h:.*xvssrarni\\.b\\.h.*lasx_xvssrarni_b_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrarni_h_w:.*xvssrarni\\.h\\.w.*lasx_xvssrarni_h_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrarni_w_d:.*xvssrarni\\.w\\.d.*lasx_xvssrarni_w_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrarni_d_q:.*xvssrarni\\.d\\.q.*lasx_xvssrarni_d_q" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrarni_bu_h:.*xvssrarni\\.bu\\.h.*lasx_xvssrarni_bu_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrarni_hu_w:.*xvssrarni\\.hu\\.w.*lasx_xvssrarni_hu_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrarni_wu_d:.*xvssrarni\\.wu\\.d.*lasx_xvssrarni_wu_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvssrarni_du_q:.*xvssrarni\\.du\\.q.*lasx_xvssrarni_du_q" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xbnz_b:.*xvsetanyeqz\\.b.*lasx_xbnz_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xbnz_d:.*xvsetanyeqz\\.d.*lasx_xbnz_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xbnz_h:.*xvsetanyeqz\\.h.*lasx_xbnz_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xbnz_v:.*xvseteqz\\.v.*lasx_xbnz_v" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xbnz_w:.*xvsetanyeqz\\.w.*lasx_xbnz_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xbz_b:.*xvsetallnez\\.b.*lasx_xbz_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xbz_d:.*xvsetallnez\\.d.*lasx_xbz_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xbz_h:.*xvsetallnez\\.h.*lasx_xbz_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xbz_v:.*xvsetnez\\.v.*lasx_xbz_v" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xbz_w:.*xvsetallnez\\.w.*lasx_xbz_w" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_caf_d:.*xvfcmp\\.caf\\.d.*lasx_xvfcmp_caf_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_caf_s:.*xvfcmp\\.caf\\.s.*lasx_xvfcmp_caf_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_ceq_d:.*xvfcmp\\.ceq\\.d.*lasx_xvfcmp_ceq_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_ceq_s:.*xvfcmp\\.ceq\\.s.*lasx_xvfcmp_ceq_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_cle_d:.*xvfcmp\\.cle\\.d.*lasx_xvfcmp_cle_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_cle_s:.*xvfcmp\\.cle\\.s.*lasx_xvfcmp_cle_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_clt_d:.*xvfcmp\\.clt\\.d.*lasx_xvfcmp_clt_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_clt_s:.*xvfcmp\\.clt\\.s.*lasx_xvfcmp_clt_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_cne_d:.*xvfcmp\\.cne\\.d.*lasx_xvfcmp_cne_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_cne_s:.*xvfcmp\\.cne\\.s.*lasx_xvfcmp_cne_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_cor_d:.*xvfcmp\\.cor\\.d.*lasx_xvfcmp_cor_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_cor_s:.*xvfcmp\\.cor\\.s.*lasx_xvfcmp_cor_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_cueq_d:.*xvfcmp\\.cueq\\.d.*lasx_xvfcmp_cueq_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_cueq_s:.*xvfcmp\\.cueq\\.s.*lasx_xvfcmp_cueq_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_cule_d:.*xvfcmp\\.cule\\.d.*lasx_xvfcmp_cule_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_cule_s:.*xvfcmp\\.cule\\.s.*lasx_xvfcmp_cule_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_cult_d:.*xvfcmp\\.cult\\.d.*lasx_xvfcmp_cult_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_cult_s:.*xvfcmp\\.cult\\.s.*lasx_xvfcmp_cult_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_cun_d:.*xvfcmp\\.cun\\.d.*lasx_xvfcmp_cun_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_cune_d:.*xvfcmp\\.cune\\.d.*lasx_xvfcmp_cune_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_cune_s:.*xvfcmp\\.cune\\.s.*lasx_xvfcmp_cune_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_cun_s:.*xvfcmp\\.cun\\.s.*lasx_xvfcmp_cun_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_saf_d:.*xvfcmp\\.saf\\.d.*lasx_xvfcmp_saf_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_saf_s:.*xvfcmp\\.saf\\.s.*lasx_xvfcmp_saf_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_seq_d:.*xvfcmp\\.seq\\.d.*lasx_xvfcmp_seq_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_seq_s:.*xvfcmp\\.seq\\.s.*lasx_xvfcmp_seq_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_sle_d:.*xvfcmp\\.sle\\.d.*lasx_xvfcmp_sle_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_sle_s:.*xvfcmp\\.sle\\.s.*lasx_xvfcmp_sle_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_slt_d:.*xvfcmp\\.slt\\.d.*lasx_xvfcmp_slt_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_slt_s:.*xvfcmp\\.slt\\.s.*lasx_xvfcmp_slt_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_sne_d:.*xvfcmp\\.sne\\.d.*lasx_xvfcmp_sne_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_sne_s:.*xvfcmp\\.sne\\.s.*lasx_xvfcmp_sne_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_sor_d:.*xvfcmp\\.sor\\.d.*lasx_xvfcmp_sor_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_sor_s:.*xvfcmp\\.sor\\.s.*lasx_xvfcmp_sor_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_sueq_d:.*xvfcmp\\.sueq\\.d.*lasx_xvfcmp_sueq_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_sueq_s:.*xvfcmp\\.sueq\\.s.*lasx_xvfcmp_sueq_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_sule_d:.*xvfcmp\\.sule\\.d.*lasx_xvfcmp_sule_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_sule_s:.*xvfcmp\\.sule\\.s.*lasx_xvfcmp_sule_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_sult_d:.*xvfcmp\\.sult\\.d.*lasx_xvfcmp_sult_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_sult_s:.*xvfcmp\\.sult\\.s.*lasx_xvfcmp_sult_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_sun_d:.*xvfcmp\\.sun\\.d.*lasx_xvfcmp_sun_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_sune_d:.*xvfcmp\\.sune\\.d.*lasx_xvfcmp_sune_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_sune_s:.*xvfcmp\\.sune\\.s.*lasx_xvfcmp_sune_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvfcmp_sun_s:.*xvfcmp\\.sun\\.s.*lasx_xvfcmp_sun_s" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpickve_d_f:.*xvpickve\\.d.*lasx_xvpickve_d_f" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvpickve_w_f:.*xvpickve\\.w.*lasx_xvpickve_w_f" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvrepli_b:.*xvrepli\\.b.*lasx_xvrepli_b" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvrepli_d:.*xvrepli\\.d.*lasx_xvrepli_d" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvrepli_h:.*xvrepli\\.h.*lasx_xvrepli_h" 1 } } */
+/* { dg-final { scan-assembler-times "lasx_xvrepli_w:.*xvrepli\\.w.*lasx_xvrepli_w" 1 } } */
+
+typedef signed char v32i8 __attribute__ ((vector_size(32), aligned(32)));     
+typedef signed char v32i8_b __attribute__ ((vector_size(32), aligned(1)));    
+typedef unsigned char v32u8 __attribute__ ((vector_size(32), aligned(32)));   
+typedef unsigned char v32u8_b __attribute__ ((vector_size(32), aligned(1)));  
+typedef short v16i16 __attribute__ ((vector_size(32), aligned(32)));          
+typedef short v16i16_h __attribute__ ((vector_size(32), aligned(2)));         
+typedef unsigned short v16u16 __attribute__ ((vector_size(32), aligned(32))); 
+typedef unsigned short v16u16_h __attribute__ ((vector_size(32), aligned(2)));
+typedef int v8i32 __attribute__ ((vector_size(32), aligned(32)));                
+typedef int v8i32_w __attribute__ ((vector_size(32), aligned(4)));               
+typedef unsigned int v8u32 __attribute__ ((vector_size(32), aligned(32)));       
+typedef unsigned int v8u32_w __attribute__ ((vector_size(32), aligned(4)));      
+typedef long long v4i64 __attribute__ ((vector_size(32), aligned(32)));          
+typedef long long v4i64_d __attribute__ ((vector_size(32), aligned(8)));         
+typedef unsigned long long v4u64 __attribute__ ((vector_size(32), aligned(32))); 
+typedef unsigned long long v4u64_d __attribute__ ((vector_size(32), aligned(8)));
+typedef float v8f32 __attribute__ ((vector_size(32), aligned(32)));  
+typedef float v8f32_w __attribute__ ((vector_size(32), aligned(4))); 
+typedef double v4f64 __attribute__ ((vector_size(32), aligned(32))); 
+typedef double v4f64_d __attribute__ ((vector_size(32), aligned(8)));
+                                                                     
+typedef double v4f64 __attribute__ ((vector_size(32), aligned(32))); 
+typedef double v4f64_d __attribute__ ((vector_size(32), aligned(8)));
+
+typedef float __m256 __attribute__ ((__vector_size__ (32), __may_alias__));
+typedef long long __m256i __attribute__ ((__vector_size__ (32), __may_alias__));   
+typedef double __m256d __attribute__ ((__vector_size__ (32), __may_alias__));
+ 
+/* Unaligned version of the same types.  */
+typedef float __m256_u __attribute__ ((__vector_size__ (32), __may_alias__, __aligned__ (1)));
+typedef long long __m256i_u __attribute__ ((__vector_size__ (32), __may_alias__, __aligned__ (1))); 
+typedef double __m256d_u __attribute__ ((__vector_size__ (32), __may_alias__, __aligned__ (1)));
+
+v32i8 __lasx_xvsll_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvsll_b(_1, _2);}
+v16i16 __lasx_xvsll_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsll_h(_1, _2);}
+v8i32 __lasx_xvsll_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsll_w(_1, _2);}
+v4i64 __lasx_xvsll_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsll_d(_1, _2);}
+v32i8 __lasx_xvslli_b(v32i8 _1){return __builtin_lasx_xvslli_b(_1, 1);}
+v16i16 __lasx_xvslli_h(v16i16 _1){return __builtin_lasx_xvslli_h(_1, 1);}
+v8i32 __lasx_xvslli_w(v8i32 _1){return __builtin_lasx_xvslli_w(_1, 1);}
+v4i64 __lasx_xvslli_d(v4i64 _1){return __builtin_lasx_xvslli_d(_1, 1);}
+v32i8 __lasx_xvsra_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvsra_b(_1, _2);}
+v16i16 __lasx_xvsra_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsra_h(_1, _2);}
+v8i32 __lasx_xvsra_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsra_w(_1, _2);}
+v4i64 __lasx_xvsra_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsra_d(_1, _2);}
+v32i8 __lasx_xvsrai_b(v32i8 _1){return __builtin_lasx_xvsrai_b(_1, 1);}
+v16i16 __lasx_xvsrai_h(v16i16 _1){return __builtin_lasx_xvsrai_h(_1, 1);}
+v8i32 __lasx_xvsrai_w(v8i32 _1){return __builtin_lasx_xvsrai_w(_1, 1);}
+v4i64 __lasx_xvsrai_d(v4i64 _1){return __builtin_lasx_xvsrai_d(_1, 1);}
+v32i8 __lasx_xvsrar_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvsrar_b(_1, _2);}
+v16i16 __lasx_xvsrar_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsrar_h(_1, _2);}
+v8i32 __lasx_xvsrar_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsrar_w(_1, _2);}
+v4i64 __lasx_xvsrar_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsrar_d(_1, _2);}
+v32i8 __lasx_xvsrari_b(v32i8 _1){return __builtin_lasx_xvsrari_b(_1, 1);}
+v16i16 __lasx_xvsrari_h(v16i16 _1){return __builtin_lasx_xvsrari_h(_1, 1);}
+v8i32 __lasx_xvsrari_w(v8i32 _1){return __builtin_lasx_xvsrari_w(_1, 1);}
+v4i64 __lasx_xvsrari_d(v4i64 _1){return __builtin_lasx_xvsrari_d(_1, 1);}
+v32i8 __lasx_xvsrl_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvsrl_b(_1, _2);}
+v16i16 __lasx_xvsrl_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsrl_h(_1, _2);}
+v8i32 __lasx_xvsrl_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsrl_w(_1, _2);}
+v4i64 __lasx_xvsrl_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsrl_d(_1, _2);}
+v32i8 __lasx_xvsrli_b(v32i8 _1){return __builtin_lasx_xvsrli_b(_1, 1);}
+v16i16 __lasx_xvsrli_h(v16i16 _1){return __builtin_lasx_xvsrli_h(_1, 1);}
+v8i32 __lasx_xvsrli_w(v8i32 _1){return __builtin_lasx_xvsrli_w(_1, 1);}
+v4i64 __lasx_xvsrli_d(v4i64 _1){return __builtin_lasx_xvsrli_d(_1, 1);}
+v32i8 __lasx_xvsrlr_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvsrlr_b(_1, _2);}
+v16i16 __lasx_xvsrlr_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsrlr_h(_1, _2);}
+v8i32 __lasx_xvsrlr_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsrlr_w(_1, _2);}
+v4i64 __lasx_xvsrlr_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsrlr_d(_1, _2);}
+v32i8 __lasx_xvsrlri_b(v32i8 _1){return __builtin_lasx_xvsrlri_b(_1, 1);}
+v16i16 __lasx_xvsrlri_h(v16i16 _1){return __builtin_lasx_xvsrlri_h(_1, 1);}
+v8i32 __lasx_xvsrlri_w(v8i32 _1){return __builtin_lasx_xvsrlri_w(_1, 1);}
+v4i64 __lasx_xvsrlri_d(v4i64 _1){return __builtin_lasx_xvsrlri_d(_1, 1);}
+v32u8 __lasx_xvbitclr_b(v32u8 _1, v32u8 _2){return __builtin_lasx_xvbitclr_b(_1, _2);}
+v16u16 __lasx_xvbitclr_h(v16u16 _1, v16u16 _2){return __builtin_lasx_xvbitclr_h(_1, _2);}
+v8u32 __lasx_xvbitclr_w(v8u32 _1, v8u32 _2){return __builtin_lasx_xvbitclr_w(_1, _2);}
+v4u64 __lasx_xvbitclr_d(v4u64 _1, v4u64 _2){return __builtin_lasx_xvbitclr_d(_1, _2);}
+v32u8 __lasx_xvbitclri_b(v32u8 _1){return __builtin_lasx_xvbitclri_b(_1, 1);}
+v16u16 __lasx_xvbitclri_h(v16u16 _1){return __builtin_lasx_xvbitclri_h(_1, 1);}
+v8u32 __lasx_xvbitclri_w(v8u32 _1){return __builtin_lasx_xvbitclri_w(_1, 1);}
+v4u64 __lasx_xvbitclri_d(v4u64 _1){return __builtin_lasx_xvbitclri_d(_1, 1);}
+v32u8 __lasx_xvbitset_b(v32u8 _1, v32u8 _2){return __builtin_lasx_xvbitset_b(_1, _2);}
+v16u16 __lasx_xvbitset_h(v16u16 _1, v16u16 _2){return __builtin_lasx_xvbitset_h(_1, _2);}
+v8u32 __lasx_xvbitset_w(v8u32 _1, v8u32 _2){return __builtin_lasx_xvbitset_w(_1, _2);}
+v4u64 __lasx_xvbitset_d(v4u64 _1, v4u64 _2){return __builtin_lasx_xvbitset_d(_1, _2);}
+v32u8 __lasx_xvbitseti_b(v32u8 _1){return __builtin_lasx_xvbitseti_b(_1, 1);}
+v16u16 __lasx_xvbitseti_h(v16u16 _1){return __builtin_lasx_xvbitseti_h(_1, 1);}
+v8u32 __lasx_xvbitseti_w(v8u32 _1){return __builtin_lasx_xvbitseti_w(_1, 1);}
+v4u64 __lasx_xvbitseti_d(v4u64 _1){return __builtin_lasx_xvbitseti_d(_1, 1);}
+v32u8 __lasx_xvbitrev_b(v32u8 _1, v32u8 _2){return __builtin_lasx_xvbitrev_b(_1, _2);}
+v16u16 __lasx_xvbitrev_h(v16u16 _1, v16u16 _2){return __builtin_lasx_xvbitrev_h(_1, _2);}
+v8u32 __lasx_xvbitrev_w(v8u32 _1, v8u32 _2){return __builtin_lasx_xvbitrev_w(_1, _2);}
+v4u64 __lasx_xvbitrev_d(v4u64 _1, v4u64 _2){return __builtin_lasx_xvbitrev_d(_1, _2);}
+v32u8 __lasx_xvbitrevi_b(v32u8 _1){return __builtin_lasx_xvbitrevi_b(_1, 1);}
+v16u16 __lasx_xvbitrevi_h(v16u16 _1){return __builtin_lasx_xvbitrevi_h(_1, 1);}
+v8u32 __lasx_xvbitrevi_w(v8u32 _1){return __builtin_lasx_xvbitrevi_w(_1, 1);}
+v4u64 __lasx_xvbitrevi_d(v4u64 _1){return __builtin_lasx_xvbitrevi_d(_1, 1);}
+v32i8 __lasx_xvadd_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvadd_b(_1, _2);}
+v16i16 __lasx_xvadd_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvadd_h(_1, _2);}
+v8i32 __lasx_xvadd_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvadd_w(_1, _2);}
+v4i64 __lasx_xvadd_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvadd_d(_1, _2);}
+v32i8 __lasx_xvaddi_bu(v32i8 _1){return __builtin_lasx_xvaddi_bu(_1, 1);}
+v16i16 __lasx_xvaddi_hu(v16i16 _1){return __builtin_lasx_xvaddi_hu(_1, 1);}
+v8i32 __lasx_xvaddi_wu(v8i32 _1){return __builtin_lasx_xvaddi_wu(_1, 1);}
+v4i64 __lasx_xvaddi_du(v4i64 _1){return __builtin_lasx_xvaddi_du(_1, 1);}
+v32i8 __lasx_xvsub_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvsub_b(_1, _2);}
+v16i16 __lasx_xvsub_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsub_h(_1, _2);}
+v8i32 __lasx_xvsub_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsub_w(_1, _2);}
+v4i64 __lasx_xvsub_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsub_d(_1, _2);}
+v32i8 __lasx_xvsubi_bu(v32i8 _1){return __builtin_lasx_xvsubi_bu(_1, 1);}
+v16i16 __lasx_xvsubi_hu(v16i16 _1){return __builtin_lasx_xvsubi_hu(_1, 1);}
+v8i32 __lasx_xvsubi_wu(v8i32 _1){return __builtin_lasx_xvsubi_wu(_1, 1);}
+v4i64 __lasx_xvsubi_du(v4i64 _1){return __builtin_lasx_xvsubi_du(_1, 1);}
+v32i8 __lasx_xvmax_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvmax_b(_1, _2);}
+v16i16 __lasx_xvmax_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvmax_h(_1, _2);}
+v8i32 __lasx_xvmax_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvmax_w(_1, _2);}
+v4i64 __lasx_xvmax_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvmax_d(_1, _2);}
+v32i8 __lasx_xvmaxi_b(v32i8 _1){return __builtin_lasx_xvmaxi_b(_1, 1);}
+v16i16 __lasx_xvmaxi_h(v16i16 _1){return __builtin_lasx_xvmaxi_h(_1, 1);}
+v8i32 __lasx_xvmaxi_w(v8i32 _1){return __builtin_lasx_xvmaxi_w(_1, 1);}
+v4i64 __lasx_xvmaxi_d(v4i64 _1){return __builtin_lasx_xvmaxi_d(_1, 1);}
+v32u8 __lasx_xvmax_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvmax_bu(_1, _2);}
+v16u16 __lasx_xvmax_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvmax_hu(_1, _2);}
+v8u32 __lasx_xvmax_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvmax_wu(_1, _2);}
+v4u64 __lasx_xvmax_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvmax_du(_1, _2);}
+v32u8 __lasx_xvmaxi_bu(v32u8 _1){return __builtin_lasx_xvmaxi_bu(_1, 1);}
+v16u16 __lasx_xvmaxi_hu(v16u16 _1){return __builtin_lasx_xvmaxi_hu(_1, 1);}
+v8u32 __lasx_xvmaxi_wu(v8u32 _1){return __builtin_lasx_xvmaxi_wu(_1, 1);}
+v4u64 __lasx_xvmaxi_du(v4u64 _1){return __builtin_lasx_xvmaxi_du(_1, 1);}
+v32i8 __lasx_xvmin_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvmin_b(_1, _2);}
+v16i16 __lasx_xvmin_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvmin_h(_1, _2);}
+v8i32 __lasx_xvmin_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvmin_w(_1, _2);}
+v4i64 __lasx_xvmin_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvmin_d(_1, _2);}
+v32i8 __lasx_xvmini_b(v32i8 _1){return __builtin_lasx_xvmini_b(_1, 1);}
+v16i16 __lasx_xvmini_h(v16i16 _1){return __builtin_lasx_xvmini_h(_1, 1);}
+v8i32 __lasx_xvmini_w(v8i32 _1){return __builtin_lasx_xvmini_w(_1, 1);}
+v4i64 __lasx_xvmini_d(v4i64 _1){return __builtin_lasx_xvmini_d(_1, 1);}
+v32u8 __lasx_xvmin_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvmin_bu(_1, _2);}
+v16u16 __lasx_xvmin_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvmin_hu(_1, _2);}
+v8u32 __lasx_xvmin_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvmin_wu(_1, _2);}
+v4u64 __lasx_xvmin_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvmin_du(_1, _2);}
+v32u8 __lasx_xvmini_bu(v32u8 _1){return __builtin_lasx_xvmini_bu(_1, 1);}
+v16u16 __lasx_xvmini_hu(v16u16 _1){return __builtin_lasx_xvmini_hu(_1, 1);}
+v8u32 __lasx_xvmini_wu(v8u32 _1){return __builtin_lasx_xvmini_wu(_1, 1);}
+v4u64 __lasx_xvmini_du(v4u64 _1){return __builtin_lasx_xvmini_du(_1, 1);}
+v32i8 __lasx_xvseq_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvseq_b(_1, _2);}
+v16i16 __lasx_xvseq_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvseq_h(_1, _2);}
+v8i32 __lasx_xvseq_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvseq_w(_1, _2);}
+v4i64 __lasx_xvseq_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvseq_d(_1, _2);}
+v32i8 __lasx_xvseqi_b(v32i8 _1){return __builtin_lasx_xvseqi_b(_1, 1);}
+v16i16 __lasx_xvseqi_h(v16i16 _1){return __builtin_lasx_xvseqi_h(_1, 1);}
+v8i32 __lasx_xvseqi_w(v8i32 _1){return __builtin_lasx_xvseqi_w(_1, 1);}
+v4i64 __lasx_xvseqi_d(v4i64 _1){return __builtin_lasx_xvseqi_d(_1, 1);}
+v32i8 __lasx_xvslt_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvslt_b(_1, _2);}
+v16i16 __lasx_xvslt_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvslt_h(_1, _2);}
+v8i32 __lasx_xvslt_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvslt_w(_1, _2);}
+v4i64 __lasx_xvslt_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvslt_d(_1, _2);}
+v32i8 __lasx_xvslti_b(v32i8 _1){return __builtin_lasx_xvslti_b(_1, 1);}
+v16i16 __lasx_xvslti_h(v16i16 _1){return __builtin_lasx_xvslti_h(_1, 1);}
+v8i32 __lasx_xvslti_w(v8i32 _1){return __builtin_lasx_xvslti_w(_1, 1);}
+v4i64 __lasx_xvslti_d(v4i64 _1){return __builtin_lasx_xvslti_d(_1, 1);}
+v32i8 __lasx_xvslt_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvslt_bu(_1, _2);}
+v16i16 __lasx_xvslt_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvslt_hu(_1, _2);}
+v8i32 __lasx_xvslt_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvslt_wu(_1, _2);}
+v4i64 __lasx_xvslt_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvslt_du(_1, _2);}
+v32i8 __lasx_xvslti_bu(v32u8 _1){return __builtin_lasx_xvslti_bu(_1, 1);}
+v16i16 __lasx_xvslti_hu(v16u16 _1){return __builtin_lasx_xvslti_hu(_1, 1);}
+v8i32 __lasx_xvslti_wu(v8u32 _1){return __builtin_lasx_xvslti_wu(_1, 1);}
+v4i64 __lasx_xvslti_du(v4u64 _1){return __builtin_lasx_xvslti_du(_1, 1);}
+v32i8 __lasx_xvsle_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvsle_b(_1, _2);}
+v16i16 __lasx_xvsle_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsle_h(_1, _2);}
+v8i32 __lasx_xvsle_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsle_w(_1, _2);}
+v4i64 __lasx_xvsle_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsle_d(_1, _2);}
+v32i8 __lasx_xvslei_b(v32i8 _1){return __builtin_lasx_xvslei_b(_1, 1);}
+v16i16 __lasx_xvslei_h(v16i16 _1){return __builtin_lasx_xvslei_h(_1, 1);}
+v8i32 __lasx_xvslei_w(v8i32 _1){return __builtin_lasx_xvslei_w(_1, 1);}
+v4i64 __lasx_xvslei_d(v4i64 _1){return __builtin_lasx_xvslei_d(_1, 1);}
+v32i8 __lasx_xvsle_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvsle_bu(_1, _2);}
+v16i16 __lasx_xvsle_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvsle_hu(_1, _2);}
+v8i32 __lasx_xvsle_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvsle_wu(_1, _2);}
+v4i64 __lasx_xvsle_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvsle_du(_1, _2);}
+v32i8 __lasx_xvslei_bu(v32u8 _1){return __builtin_lasx_xvslei_bu(_1, 1);}
+v16i16 __lasx_xvslei_hu(v16u16 _1){return __builtin_lasx_xvslei_hu(_1, 1);}
+v8i32 __lasx_xvslei_wu(v8u32 _1){return __builtin_lasx_xvslei_wu(_1, 1);}
+v4i64 __lasx_xvslei_du(v4u64 _1){return __builtin_lasx_xvslei_du(_1, 1);}
+v32i8 __lasx_xvsat_b(v32i8 _1){return __builtin_lasx_xvsat_b(_1, 1);}
+v16i16 __lasx_xvsat_h(v16i16 _1){return __builtin_lasx_xvsat_h(_1, 1);}
+v8i32 __lasx_xvsat_w(v8i32 _1){return __builtin_lasx_xvsat_w(_1, 1);}
+v4i64 __lasx_xvsat_d(v4i64 _1){return __builtin_lasx_xvsat_d(_1, 1);}
+v32u8 __lasx_xvsat_bu(v32u8 _1){return __builtin_lasx_xvsat_bu(_1, 1);}
+v16u16 __lasx_xvsat_hu(v16u16 _1){return __builtin_lasx_xvsat_hu(_1, 1);}
+v8u32 __lasx_xvsat_wu(v8u32 _1){return __builtin_lasx_xvsat_wu(_1, 1);}
+v4u64 __lasx_xvsat_du(v4u64 _1){return __builtin_lasx_xvsat_du(_1, 1);}
+v32i8 __lasx_xvadda_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvadda_b(_1, _2);}
+v16i16 __lasx_xvadda_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvadda_h(_1, _2);}
+v8i32 __lasx_xvadda_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvadda_w(_1, _2);}
+v4i64 __lasx_xvadda_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvadda_d(_1, _2);}
+v32i8 __lasx_xvsadd_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvsadd_b(_1, _2);}
+v16i16 __lasx_xvsadd_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsadd_h(_1, _2);}
+v8i32 __lasx_xvsadd_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsadd_w(_1, _2);}
+v4i64 __lasx_xvsadd_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsadd_d(_1, _2);}
+v32u8 __lasx_xvsadd_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvsadd_bu(_1, _2);}
+v16u16 __lasx_xvsadd_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvsadd_hu(_1, _2);}
+v8u32 __lasx_xvsadd_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvsadd_wu(_1, _2);}
+v4u64 __lasx_xvsadd_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvsadd_du(_1, _2);}
+v32i8 __lasx_xvavg_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvavg_b(_1, _2);}
+v16i16 __lasx_xvavg_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvavg_h(_1, _2);}
+v8i32 __lasx_xvavg_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvavg_w(_1, _2);}
+v4i64 __lasx_xvavg_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvavg_d(_1, _2);}
+v32u8 __lasx_xvavg_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvavg_bu(_1, _2);}
+v16u16 __lasx_xvavg_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvavg_hu(_1, _2);}
+v8u32 __lasx_xvavg_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvavg_wu(_1, _2);}
+v4u64 __lasx_xvavg_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvavg_du(_1, _2);}
+v32i8 __lasx_xvavgr_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvavgr_b(_1, _2);}
+v16i16 __lasx_xvavgr_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvavgr_h(_1, _2);}
+v8i32 __lasx_xvavgr_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvavgr_w(_1, _2);}
+v4i64 __lasx_xvavgr_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvavgr_d(_1, _2);}
+v32u8 __lasx_xvavgr_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvavgr_bu(_1, _2);}
+v16u16 __lasx_xvavgr_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvavgr_hu(_1, _2);}
+v8u32 __lasx_xvavgr_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvavgr_wu(_1, _2);}
+v4u64 __lasx_xvavgr_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvavgr_du(_1, _2);}
+v32i8 __lasx_xvssub_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvssub_b(_1, _2);}
+v16i16 __lasx_xvssub_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvssub_h(_1, _2);}
+v8i32 __lasx_xvssub_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvssub_w(_1, _2);}
+v4i64 __lasx_xvssub_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvssub_d(_1, _2);}
+v32u8 __lasx_xvssub_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvssub_bu(_1, _2);}
+v16u16 __lasx_xvssub_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvssub_hu(_1, _2);}
+v8u32 __lasx_xvssub_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvssub_wu(_1, _2);}
+v4u64 __lasx_xvssub_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvssub_du(_1, _2);}
+v32i8 __lasx_xvabsd_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvabsd_b(_1, _2);}
+v16i16 __lasx_xvabsd_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvabsd_h(_1, _2);}
+v8i32 __lasx_xvabsd_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvabsd_w(_1, _2);}
+v4i64 __lasx_xvabsd_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvabsd_d(_1, _2);}
+v32u8 __lasx_xvabsd_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvabsd_bu(_1, _2);}
+v16u16 __lasx_xvabsd_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvabsd_hu(_1, _2);}
+v8u32 __lasx_xvabsd_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvabsd_wu(_1, _2);}
+v4u64 __lasx_xvabsd_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvabsd_du(_1, _2);}
+v32i8 __lasx_xvmul_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvmul_b(_1, _2);}
+v16i16 __lasx_xvmul_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvmul_h(_1, _2);}
+v8i32 __lasx_xvmul_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvmul_w(_1, _2);}
+v4i64 __lasx_xvmul_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvmul_d(_1, _2);}
+v32i8 __lasx_xvmadd_b(v32i8 _1, v32i8 _2, v32i8 _3){return __builtin_lasx_xvmadd_b(_1, _2, _3);}
+v16i16 __lasx_xvmadd_h(v16i16 _1, v16i16 _2, v16i16 _3){return __builtin_lasx_xvmadd_h(_1, _2, _3);}
+v8i32 __lasx_xvmadd_w(v8i32 _1, v8i32 _2, v8i32 _3){return __builtin_lasx_xvmadd_w(_1, _2, _3);}
+v4i64 __lasx_xvmadd_d(v4i64 _1, v4i64 _2, v4i64 _3){return __builtin_lasx_xvmadd_d(_1, _2, _3);}
+v32i8 __lasx_xvmsub_b(v32i8 _1, v32i8 _2, v32i8 _3){return __builtin_lasx_xvmsub_b(_1, _2, _3);}
+v16i16 __lasx_xvmsub_h(v16i16 _1, v16i16 _2, v16i16 _3){return __builtin_lasx_xvmsub_h(_1, _2, _3);}
+v8i32 __lasx_xvmsub_w(v8i32 _1, v8i32 _2, v8i32 _3){return __builtin_lasx_xvmsub_w(_1, _2, _3);}
+v4i64 __lasx_xvmsub_d(v4i64 _1, v4i64 _2, v4i64 _3){return __builtin_lasx_xvmsub_d(_1, _2, _3);}
+v32i8 __lasx_xvdiv_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvdiv_b(_1, _2);}
+v16i16 __lasx_xvdiv_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvdiv_h(_1, _2);}
+v8i32 __lasx_xvdiv_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvdiv_w(_1, _2);}
+v4i64 __lasx_xvdiv_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvdiv_d(_1, _2);}
+v32u8 __lasx_xvdiv_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvdiv_bu(_1, _2);}
+v16u16 __lasx_xvdiv_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvdiv_hu(_1, _2);}
+v8u32 __lasx_xvdiv_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvdiv_wu(_1, _2);}
+v4u64 __lasx_xvdiv_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvdiv_du(_1, _2);}
+v16i16 __lasx_xvhaddw_h_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvhaddw_h_b(_1, _2);}
+v8i32 __lasx_xvhaddw_w_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvhaddw_w_h(_1, _2);}
+v4i64 __lasx_xvhaddw_d_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvhaddw_d_w(_1, _2);}
+v16u16 __lasx_xvhaddw_hu_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvhaddw_hu_bu(_1, _2);}
+v8u32 __lasx_xvhaddw_wu_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvhaddw_wu_hu(_1, _2);}
+v4u64 __lasx_xvhaddw_du_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvhaddw_du_wu(_1, _2);}
+v16i16 __lasx_xvhsubw_h_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvhsubw_h_b(_1, _2);}
+v8i32 __lasx_xvhsubw_w_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvhsubw_w_h(_1, _2);}
+v4i64 __lasx_xvhsubw_d_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvhsubw_d_w(_1, _2);}
+v16i16 __lasx_xvhsubw_hu_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvhsubw_hu_bu(_1, _2);}
+v8i32 __lasx_xvhsubw_wu_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvhsubw_wu_hu(_1, _2);}
+v4i64 __lasx_xvhsubw_du_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvhsubw_du_wu(_1, _2);}
+v32i8 __lasx_xvmod_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvmod_b(_1, _2);}
+v16i16 __lasx_xvmod_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvmod_h(_1, _2);}
+v8i32 __lasx_xvmod_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvmod_w(_1, _2);}
+v4i64 __lasx_xvmod_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvmod_d(_1, _2);}
+v32u8 __lasx_xvmod_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvmod_bu(_1, _2);}
+v16u16 __lasx_xvmod_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvmod_hu(_1, _2);}
+v8u32 __lasx_xvmod_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvmod_wu(_1, _2);}
+v4u64 __lasx_xvmod_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvmod_du(_1, _2);}
+v32i8 __lasx_xvrepl128vei_b(v32i8 _1){return __builtin_lasx_xvrepl128vei_b(_1, 1);}
+v16i16 __lasx_xvrepl128vei_h(v16i16 _1){return __builtin_lasx_xvrepl128vei_h(_1, 1);}
+v8i32 __lasx_xvrepl128vei_w(v8i32 _1){return __builtin_lasx_xvrepl128vei_w(_1, 1);}
+v4i64 __lasx_xvrepl128vei_d(v4i64 _1){return __builtin_lasx_xvrepl128vei_d(_1, 1);}
+v32i8 __lasx_xvpickev_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvpickev_b(_1, _2);}
+v16i16 __lasx_xvpickev_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvpickev_h(_1, _2);}
+v8i32 __lasx_xvpickev_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvpickev_w(_1, _2);}
+v4i64 __lasx_xvpickev_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvpickev_d(_1, _2);}
+v32i8 __lasx_xvpickod_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvpickod_b(_1, _2);}
+v16i16 __lasx_xvpickod_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvpickod_h(_1, _2);}
+v8i32 __lasx_xvpickod_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvpickod_w(_1, _2);}
+v4i64 __lasx_xvpickod_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvpickod_d(_1, _2);}
+v32i8 __lasx_xvilvh_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvilvh_b(_1, _2);}
+v16i16 __lasx_xvilvh_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvilvh_h(_1, _2);}
+v8i32 __lasx_xvilvh_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvilvh_w(_1, _2);}
+v4i64 __lasx_xvilvh_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvilvh_d(_1, _2);}
+v32i8 __lasx_xvilvl_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvilvl_b(_1, _2);}
+v16i16 __lasx_xvilvl_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvilvl_h(_1, _2);}
+v8i32 __lasx_xvilvl_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvilvl_w(_1, _2);}
+v4i64 __lasx_xvilvl_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvilvl_d(_1, _2);}
+v32i8 __lasx_xvpackev_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvpackev_b(_1, _2);}
+v16i16 __lasx_xvpackev_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvpackev_h(_1, _2);}
+v8i32 __lasx_xvpackev_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvpackev_w(_1, _2);}
+v4i64 __lasx_xvpackev_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvpackev_d(_1, _2);}
+v32i8 __lasx_xvpackod_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvpackod_b(_1, _2);}
+v16i16 __lasx_xvpackod_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvpackod_h(_1, _2);}
+v8i32 __lasx_xvpackod_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvpackod_w(_1, _2);}
+v4i64 __lasx_xvpackod_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvpackod_d(_1, _2);}
+v32i8 __lasx_xvshuf_b(v32i8 _1, v32i8 _2, v32i8 _3){return __builtin_lasx_xvshuf_b(_1, _2, _3);}
+v16i16 __lasx_xvshuf_h(v16i16 _1, v16i16 _2, v16i16 _3){return __builtin_lasx_xvshuf_h(_1, _2, _3);}
+v8i32 __lasx_xvshuf_w(v8i32 _1, v8i32 _2, v8i32 _3){return __builtin_lasx_xvshuf_w(_1, _2, _3);}
+v4i64 __lasx_xvshuf_d(v4i64 _1, v4i64 _2, v4i64 _3){return __builtin_lasx_xvshuf_d(_1, _2, _3);}
+v32u8 __lasx_xvand_v(v32u8 _1, v32u8 _2){return __builtin_lasx_xvand_v(_1, _2);}
+v32u8 __lasx_xvandi_b(v32u8 _1){return __builtin_lasx_xvandi_b(_1, 1);}
+v32u8 __lasx_xvor_v(v32u8 _1, v32u8 _2){return __builtin_lasx_xvor_v(_1, _2);}
+v32u8 __lasx_xvori_b(v32u8 _1){return __builtin_lasx_xvori_b(_1, 1);}
+v32u8 __lasx_xvnor_v(v32u8 _1, v32u8 _2){return __builtin_lasx_xvnor_v(_1, _2);}
+v32u8 __lasx_xvnori_b(v32u8 _1){return __builtin_lasx_xvnori_b(_1, 1);}
+v32u8 __lasx_xvxor_v(v32u8 _1, v32u8 _2){return __builtin_lasx_xvxor_v(_1, _2);}
+v32u8 __lasx_xvxori_b(v32u8 _1){return __builtin_lasx_xvxori_b(_1, 1);}
+v32u8 __lasx_xvbitsel_v(v32u8 _1, v32u8 _2, v32u8 _3){return __builtin_lasx_xvbitsel_v(_1, _2, _3);}
+v32u8 __lasx_xvbitseli_b(v32u8 _1, v32u8 _2){return __builtin_lasx_xvbitseli_b(_1, _2, 1);}
+v32i8 __lasx_xvshuf4i_b(v32i8 _1){return __builtin_lasx_xvshuf4i_b(_1, 1);}
+v16i16 __lasx_xvshuf4i_h(v16i16 _1){return __builtin_lasx_xvshuf4i_h(_1, 1);}
+v8i32 __lasx_xvshuf4i_w(v8i32 _1){return __builtin_lasx_xvshuf4i_w(_1, 1);}
+v32i8 __lasx_xvreplgr2vr_b(int _1){return __builtin_lasx_xvreplgr2vr_b(_1);}
+v16i16 __lasx_xvreplgr2vr_h(int _1){return __builtin_lasx_xvreplgr2vr_h(_1);}
+v8i32 __lasx_xvreplgr2vr_w(int _1){return __builtin_lasx_xvreplgr2vr_w(_1);}
+v4i64 __lasx_xvreplgr2vr_d(int _1){return __builtin_lasx_xvreplgr2vr_d(_1);}
+v32i8 __lasx_xvpcnt_b(v32i8 _1){return __builtin_lasx_xvpcnt_b(_1);}
+v16i16 __lasx_xvpcnt_h(v16i16 _1){return __builtin_lasx_xvpcnt_h(_1);}
+v8i32 __lasx_xvpcnt_w(v8i32 _1){return __builtin_lasx_xvpcnt_w(_1);}
+v4i64 __lasx_xvpcnt_d(v4i64 _1){return __builtin_lasx_xvpcnt_d(_1);}
+v32i8 __lasx_xvclo_b(v32i8 _1){return __builtin_lasx_xvclo_b(_1);}
+v16i16 __lasx_xvclo_h(v16i16 _1){return __builtin_lasx_xvclo_h(_1);}
+v8i32 __lasx_xvclo_w(v8i32 _1){return __builtin_lasx_xvclo_w(_1);}
+v4i64 __lasx_xvclo_d(v4i64 _1){return __builtin_lasx_xvclo_d(_1);}
+v32i8 __lasx_xvclz_b(v32i8 _1){return __builtin_lasx_xvclz_b(_1);}
+v16i16 __lasx_xvclz_h(v16i16 _1){return __builtin_lasx_xvclz_h(_1);}
+v8i32 __lasx_xvclz_w(v8i32 _1){return __builtin_lasx_xvclz_w(_1);}
+v4i64 __lasx_xvclz_d(v4i64 _1){return __builtin_lasx_xvclz_d(_1);}
+v8f32 __lasx_xvfadd_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfadd_s(_1, _2);}
+v4f64 __lasx_xvfadd_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfadd_d(_1, _2);}
+v8f32 __lasx_xvfsub_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfsub_s(_1, _2);}
+v4f64 __lasx_xvfsub_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfsub_d(_1, _2);}
+v8f32 __lasx_xvfmul_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfmul_s(_1, _2);}
+v4f64 __lasx_xvfmul_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfmul_d(_1, _2);}
+v8f32 __lasx_xvfdiv_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfdiv_s(_1, _2);}
+v4f64 __lasx_xvfdiv_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfdiv_d(_1, _2);}
+v16i16 __lasx_xvfcvt_h_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcvt_h_s(_1, _2);}
+v8f32 __lasx_xvfcvt_s_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcvt_s_d(_1, _2);}
+v8f32 __lasx_xvfmin_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfmin_s(_1, _2);}
+v4f64 __lasx_xvfmin_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfmin_d(_1, _2);}
+v8f32 __lasx_xvfmina_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfmina_s(_1, _2);}
+v4f64 __lasx_xvfmina_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfmina_d(_1, _2);}
+v8f32 __lasx_xvfmax_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfmax_s(_1, _2);}
+v4f64 __lasx_xvfmax_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfmax_d(_1, _2);}
+v8f32 __lasx_xvfmaxa_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfmaxa_s(_1, _2);}
+v4f64 __lasx_xvfmaxa_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfmaxa_d(_1, _2);}
+v8i32 __lasx_xvfclass_s(v8f32 _1){return __builtin_lasx_xvfclass_s(_1);}
+v4i64 __lasx_xvfclass_d(v4f64 _1){return __builtin_lasx_xvfclass_d(_1);}
+v8f32 __lasx_xvfsqrt_s(v8f32 _1){return __builtin_lasx_xvfsqrt_s(_1);}
+v4f64 __lasx_xvfsqrt_d(v4f64 _1){return __builtin_lasx_xvfsqrt_d(_1);}
+v8f32 __lasx_xvfrecip_s(v8f32 _1){return __builtin_lasx_xvfrecip_s(_1);}
+v4f64 __lasx_xvfrecip_d(v4f64 _1){return __builtin_lasx_xvfrecip_d(_1);}
+v8f32 __lasx_xvfrint_s(v8f32 _1){return __builtin_lasx_xvfrint_s(_1);}
+v4f64 __lasx_xvfrint_d(v4f64 _1){return __builtin_lasx_xvfrint_d(_1);}
+v8f32 __lasx_xvfrsqrt_s(v8f32 _1){return __builtin_lasx_xvfrsqrt_s(_1);}
+v4f64 __lasx_xvfrsqrt_d(v4f64 _1){return __builtin_lasx_xvfrsqrt_d(_1);}
+v8f32 __lasx_xvflogb_s(v8f32 _1){return __builtin_lasx_xvflogb_s(_1);}
+v4f64 __lasx_xvflogb_d(v4f64 _1){return __builtin_lasx_xvflogb_d(_1);}
+v8f32 __lasx_xvfcvth_s_h(v16i16 _1){return __builtin_lasx_xvfcvth_s_h(_1);}
+v4f64 __lasx_xvfcvth_d_s(v8f32 _1){return __builtin_lasx_xvfcvth_d_s(_1);}
+v8f32 __lasx_xvfcvtl_s_h(v16i16 _1){return __builtin_lasx_xvfcvtl_s_h(_1);}
+v4f64 __lasx_xvfcvtl_d_s(v8f32 _1){return __builtin_lasx_xvfcvtl_d_s(_1);}
+v8i32 __lasx_xvftint_w_s(v8f32 _1){return __builtin_lasx_xvftint_w_s(_1);}
+v4i64 __lasx_xvftint_l_d(v4f64 _1){return __builtin_lasx_xvftint_l_d(_1);}
+v8u32 __lasx_xvftint_wu_s(v8f32 _1){return __builtin_lasx_xvftint_wu_s(_1);}
+v4u64 __lasx_xvftint_lu_d(v4f64 _1){return __builtin_lasx_xvftint_lu_d(_1);}
+v8i32 __lasx_xvftintrz_w_s(v8f32 _1){return __builtin_lasx_xvftintrz_w_s(_1);}
+v4i64 __lasx_xvftintrz_l_d(v4f64 _1){return __builtin_lasx_xvftintrz_l_d(_1);}
+v8u32 __lasx_xvftintrz_wu_s(v8f32 _1){return __builtin_lasx_xvftintrz_wu_s(_1);}
+v4u64 __lasx_xvftintrz_lu_d(v4f64 _1){return __builtin_lasx_xvftintrz_lu_d(_1);}
+v8f32 __lasx_xvffint_s_w(v8i32 _1){return __builtin_lasx_xvffint_s_w(_1);}
+v4f64 __lasx_xvffint_d_l(v4i64 _1){return __builtin_lasx_xvffint_d_l(_1);}
+v8f32 __lasx_xvffint_s_wu(v8u32 _1){return __builtin_lasx_xvffint_s_wu(_1);}
+v4f64 __lasx_xvffint_d_lu(v4u64 _1){return __builtin_lasx_xvffint_d_lu(_1);}
+v32i8 __lasx_xvreplve_b(v32i8 _1, int _2){return __builtin_lasx_xvreplve_b(_1, _2);}
+v16i16 __lasx_xvreplve_h(v16i16 _1, int _2){return __builtin_lasx_xvreplve_h(_1, _2);}
+v8i32 __lasx_xvreplve_w(v8i32 _1, int _2){return __builtin_lasx_xvreplve_w(_1, _2);}
+v4i64 __lasx_xvreplve_d(v4i64 _1, int _2){return __builtin_lasx_xvreplve_d(_1, _2);}
+v8i32 __lasx_xvpermi_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvpermi_w(_1, _2, 1);}
+v32u8 __lasx_xvandn_v(v32u8 _1, v32u8 _2){return __builtin_lasx_xvandn_v(_1, _2);}
+v32i8 __lasx_xvneg_b(v32i8 _1){return __builtin_lasx_xvneg_b(_1);}
+v16i16 __lasx_xvneg_h(v16i16 _1){return __builtin_lasx_xvneg_h(_1);}
+v8i32 __lasx_xvneg_w(v8i32 _1){return __builtin_lasx_xvneg_w(_1);}
+v4i64 __lasx_xvneg_d(v4i64 _1){return __builtin_lasx_xvneg_d(_1);}
+v32i8 __lasx_xvmuh_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvmuh_b(_1, _2);}
+v16i16 __lasx_xvmuh_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvmuh_h(_1, _2);}
+v8i32 __lasx_xvmuh_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvmuh_w(_1, _2);}
+v4i64 __lasx_xvmuh_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvmuh_d(_1, _2);}
+v32u8 __lasx_xvmuh_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvmuh_bu(_1, _2);}
+v16u16 __lasx_xvmuh_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvmuh_hu(_1, _2);}
+v8u32 __lasx_xvmuh_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvmuh_wu(_1, _2);}
+v4u64 __lasx_xvmuh_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvmuh_du(_1, _2);}
+v16i16 __lasx_xvsllwil_h_b(v32i8 _1){return __builtin_lasx_xvsllwil_h_b(_1, 1);}
+v8i32 __lasx_xvsllwil_w_h(v16i16 _1){return __builtin_lasx_xvsllwil_w_h(_1, 1);}
+v4i64 __lasx_xvsllwil_d_w(v8i32 _1){return __builtin_lasx_xvsllwil_d_w(_1, 1);}
+v16u16 __lasx_xvsllwil_hu_bu(v32u8 _1){return __builtin_lasx_xvsllwil_hu_bu(_1, 1);}
+v8u32 __lasx_xvsllwil_wu_hu(v16u16 _1){return __builtin_lasx_xvsllwil_wu_hu(_1, 1);}
+v4u64 __lasx_xvsllwil_du_wu(v8u32 _1){return __builtin_lasx_xvsllwil_du_wu(_1, 1);}
+v32i8 __lasx_xvsran_b_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsran_b_h(_1, _2);}
+v16i16 __lasx_xvsran_h_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsran_h_w(_1, _2);}
+v8i32 __lasx_xvsran_w_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsran_w_d(_1, _2);}
+v32i8 __lasx_xvssran_b_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvssran_b_h(_1, _2);}
+v16i16 __lasx_xvssran_h_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvssran_h_w(_1, _2);}
+v8i32 __lasx_xvssran_w_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvssran_w_d(_1, _2);}
+v32u8 __lasx_xvssran_bu_h(v16u16 _1, v16u16 _2){return __builtin_lasx_xvssran_bu_h(_1, _2);}
+v16u16 __lasx_xvssran_hu_w(v8u32 _1, v8u32 _2){return __builtin_lasx_xvssran_hu_w(_1, _2);}
+v8u32 __lasx_xvssran_wu_d(v4u64 _1, v4u64 _2){return __builtin_lasx_xvssran_wu_d(_1, _2);}
+v32i8 __lasx_xvsrarn_b_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsrarn_b_h(_1, _2);}
+v16i16 __lasx_xvsrarn_h_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsrarn_h_w(_1, _2);}
+v8i32 __lasx_xvsrarn_w_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsrarn_w_d(_1, _2);}
+v32i8 __lasx_xvssrarn_b_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvssrarn_b_h(_1, _2);}
+v16i16 __lasx_xvssrarn_h_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvssrarn_h_w(_1, _2);}
+v8i32 __lasx_xvssrarn_w_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvssrarn_w_d(_1, _2);}
+v32u8 __lasx_xvssrarn_bu_h(v16u16 _1, v16u16 _2){return __builtin_lasx_xvssrarn_bu_h(_1, _2);}
+v16u16 __lasx_xvssrarn_hu_w(v8u32 _1, v8u32 _2){return __builtin_lasx_xvssrarn_hu_w(_1, _2);}
+v8u32 __lasx_xvssrarn_wu_d(v4u64 _1, v4u64 _2){return __builtin_lasx_xvssrarn_wu_d(_1, _2);}
+v32i8 __lasx_xvsrln_b_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsrln_b_h(_1, _2);}
+v16i16 __lasx_xvsrln_h_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsrln_h_w(_1, _2);}
+v8i32 __lasx_xvsrln_w_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsrln_w_d(_1, _2);}
+v32u8 __lasx_xvssrln_bu_h(v16u16 _1, v16u16 _2){return __builtin_lasx_xvssrln_bu_h(_1, _2);}
+v16u16 __lasx_xvssrln_hu_w(v8u32 _1, v8u32 _2){return __builtin_lasx_xvssrln_hu_w(_1, _2);}
+v8u32 __lasx_xvssrln_wu_d(v4u64 _1, v4u64 _2){return __builtin_lasx_xvssrln_wu_d(_1, _2);}
+v32i8 __lasx_xvsrlrn_b_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsrlrn_b_h(_1, _2);}
+v16i16 __lasx_xvsrlrn_h_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsrlrn_h_w(_1, _2);}
+v8i32 __lasx_xvsrlrn_w_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsrlrn_w_d(_1, _2);}
+v32u8 __lasx_xvssrlrn_bu_h(v16u16 _1, v16u16 _2){return __builtin_lasx_xvssrlrn_bu_h(_1, _2);}
+v16u16 __lasx_xvssrlrn_hu_w(v8u32 _1, v8u32 _2){return __builtin_lasx_xvssrlrn_hu_w(_1, _2);}
+v8u32 __lasx_xvssrlrn_wu_d(v4u64 _1, v4u64 _2){return __builtin_lasx_xvssrlrn_wu_d(_1, _2);}
+v32i8 __lasx_xvfrstpi_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvfrstpi_b(_1, _2, 1);}
+v16i16 __lasx_xvfrstpi_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvfrstpi_h(_1, _2, 1);}
+v32i8 __lasx_xvfrstp_b(v32i8 _1, v32i8 _2, v32i8 _3){return __builtin_lasx_xvfrstp_b(_1, _2, _3);}
+v16i16 __lasx_xvfrstp_h(v16i16 _1, v16i16 _2, v16i16 _3){return __builtin_lasx_xvfrstp_h(_1, _2, _3);}
+v4i64 __lasx_xvshuf4i_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvshuf4i_d(_1, _2, 1);}
+v32i8 __lasx_xvbsrl_v(v32i8 _1){return __builtin_lasx_xvbsrl_v(_1, 1);}
+v32i8 __lasx_xvbsll_v(v32i8 _1){return __builtin_lasx_xvbsll_v(_1, 1);}
+v32i8 __lasx_xvextrins_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvextrins_b(_1, _2, 1);}
+v16i16 __lasx_xvextrins_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvextrins_h(_1, _2, 1);}
+v8i32 __lasx_xvextrins_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvextrins_w(_1, _2, 1);}
+v4i64 __lasx_xvextrins_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvextrins_d(_1, _2, 1);}
+v32i8 __lasx_xvmskltz_b(v32i8 _1){return __builtin_lasx_xvmskltz_b(_1);}
+v16i16 __lasx_xvmskltz_h(v16i16 _1){return __builtin_lasx_xvmskltz_h(_1);}
+v8i32 __lasx_xvmskltz_w(v8i32 _1){return __builtin_lasx_xvmskltz_w(_1);}
+v4i64 __lasx_xvmskltz_d(v4i64 _1){return __builtin_lasx_xvmskltz_d(_1);}
+v32i8 __lasx_xvsigncov_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvsigncov_b(_1, _2);}
+v16i16 __lasx_xvsigncov_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsigncov_h(_1, _2);}
+v8i32 __lasx_xvsigncov_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsigncov_w(_1, _2);}
+v4i64 __lasx_xvsigncov_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsigncov_d(_1, _2);}
+v8f32 __lasx_xvfmadd_s(v8f32 _1, v8f32 _2, v8f32 _3){return __builtin_lasx_xvfmadd_s(_1, _2, _3);}
+v4f64 __lasx_xvfmadd_d(v4f64 _1, v4f64 _2, v4f64 _3){return __builtin_lasx_xvfmadd_d(_1, _2, _3);}
+v8f32 __lasx_xvfmsub_s(v8f32 _1, v8f32 _2, v8f32 _3){return __builtin_lasx_xvfmsub_s(_1, _2, _3);}
+v4f64 __lasx_xvfmsub_d(v4f64 _1, v4f64 _2, v4f64 _3){return __builtin_lasx_xvfmsub_d(_1, _2, _3);}
+v8f32 __lasx_xvfnmadd_s(v8f32 _1, v8f32 _2, v8f32 _3){return __builtin_lasx_xvfnmadd_s(_1, _2, _3);}
+v4f64 __lasx_xvfnmadd_d(v4f64 _1, v4f64 _2, v4f64 _3){return __builtin_lasx_xvfnmadd_d(_1, _2, _3);}
+v8f32 __lasx_xvfnmsub_s(v8f32 _1, v8f32 _2, v8f32 _3){return __builtin_lasx_xvfnmsub_s(_1, _2, _3);}
+v4f64 __lasx_xvfnmsub_d(v4f64 _1, v4f64 _2, v4f64 _3){return __builtin_lasx_xvfnmsub_d(_1, _2, _3);}
+v8i32 __lasx_xvftintrne_w_s(v8f32 _1){return __builtin_lasx_xvftintrne_w_s(_1);}
+v4i64 __lasx_xvftintrne_l_d(v4f64 _1){return __builtin_lasx_xvftintrne_l_d(_1);}
+v8i32 __lasx_xvftintrp_w_s(v8f32 _1){return __builtin_lasx_xvftintrp_w_s(_1);}
+v4i64 __lasx_xvftintrp_l_d(v4f64 _1){return __builtin_lasx_xvftintrp_l_d(_1);}
+v8i32 __lasx_xvftintrm_w_s(v8f32 _1){return __builtin_lasx_xvftintrm_w_s(_1);}
+v4i64 __lasx_xvftintrm_l_d(v4f64 _1){return __builtin_lasx_xvftintrm_l_d(_1);}
+v8i32 __lasx_xvftint_w_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvftint_w_d(_1, _2);}
+v8f32 __lasx_xvffint_s_l(v4i64 _1, v4i64 _2){return __builtin_lasx_xvffint_s_l(_1, _2);}
+v8i32 __lasx_xvftintrz_w_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvftintrz_w_d(_1, _2);}
+v8i32 __lasx_xvftintrp_w_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvftintrp_w_d(_1, _2);}
+v8i32 __lasx_xvftintrm_w_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvftintrm_w_d(_1, _2);}
+v8i32 __lasx_xvftintrne_w_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvftintrne_w_d(_1, _2);}
+v4i64 __lasx_xvftinth_l_s(v8f32 _1){return __builtin_lasx_xvftinth_l_s(_1);}
+v4i64 __lasx_xvftintl_l_s(v8f32 _1){return __builtin_lasx_xvftintl_l_s(_1);}
+v4f64 __lasx_xvffinth_d_w(v8i32 _1){return __builtin_lasx_xvffinth_d_w(_1);}
+v4f64 __lasx_xvffintl_d_w(v8i32 _1){return __builtin_lasx_xvffintl_d_w(_1);}
+v4i64 __lasx_xvftintrzh_l_s(v8f32 _1){return __builtin_lasx_xvftintrzh_l_s(_1);}
+v4i64 __lasx_xvftintrzl_l_s(v8f32 _1){return __builtin_lasx_xvftintrzl_l_s(_1);}
+v4i64 __lasx_xvftintrph_l_s(v8f32 _1){return __builtin_lasx_xvftintrph_l_s(_1);}
+v4i64 __lasx_xvftintrpl_l_s(v8f32 _1){return __builtin_lasx_xvftintrpl_l_s(_1);}
+v4i64 __lasx_xvftintrmh_l_s(v8f32 _1){return __builtin_lasx_xvftintrmh_l_s(_1);}
+v4i64 __lasx_xvftintrml_l_s(v8f32 _1){return __builtin_lasx_xvftintrml_l_s(_1);}
+v4i64 __lasx_xvftintrneh_l_s(v8f32 _1){return __builtin_lasx_xvftintrneh_l_s(_1);}
+v4i64 __lasx_xvftintrnel_l_s(v8f32 _1){return __builtin_lasx_xvftintrnel_l_s(_1);}
+v8f32 __lasx_xvfrintrne_s(v8f32 _1){return __builtin_lasx_xvfrintrne_s(_1);}
+v4f64 __lasx_xvfrintrne_d(v4f64 _1){return __builtin_lasx_xvfrintrne_d(_1);}
+v8f32 __lasx_xvfrintrz_s(v8f32 _1){return __builtin_lasx_xvfrintrz_s(_1);}
+v4f64 __lasx_xvfrintrz_d(v4f64 _1){return __builtin_lasx_xvfrintrz_d(_1);}
+v8f32 __lasx_xvfrintrp_s(v8f32 _1){return __builtin_lasx_xvfrintrp_s(_1);}
+v4f64 __lasx_xvfrintrp_d(v4f64 _1){return __builtin_lasx_xvfrintrp_d(_1);}
+v8f32 __lasx_xvfrintrm_s(v8f32 _1){return __builtin_lasx_xvfrintrm_s(_1);}
+v4f64 __lasx_xvfrintrm_d(v4f64 _1){return __builtin_lasx_xvfrintrm_d(_1);}
+v32i8 __lasx_xvld(void * _1){return __builtin_lasx_xvld(_1, 1);}
+void __lasx_xvst(v32i8 _1, void * _2){return __builtin_lasx_xvst(_1, _2, 1);}
+void __lasx_xvstelm_b(v32i8 _1, void * _2){return __builtin_lasx_xvstelm_b(_1, _2, 1, 1);}
+void __lasx_xvstelm_h(v16i16 _1, void * _2){return __builtin_lasx_xvstelm_h(_1, _2, 2, 1);}
+void __lasx_xvstelm_w(v8i32 _1, void * _2){return __builtin_lasx_xvstelm_w(_1, _2, 4, 1);}
+void __lasx_xvstelm_d(v4i64 _1, void * _2){return __builtin_lasx_xvstelm_d(_1, _2, 8, 1);}
+v8i32 __lasx_xvinsve0_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvinsve0_w(_1, _2, 1);}
+v4i64 __lasx_xvinsve0_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvinsve0_d(_1, _2, 1);}
+v8i32 __lasx_xvpickve_w(v8i32 _1){return __builtin_lasx_xvpickve_w(_1, 1);}
+v4i64 __lasx_xvpickve_d(v4i64 _1){return __builtin_lasx_xvpickve_d(_1, 1);}
+v32i8 __lasx_xvssrlrn_b_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvssrlrn_b_h(_1, _2);}
+v16i16 __lasx_xvssrlrn_h_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvssrlrn_h_w(_1, _2);}
+v8i32 __lasx_xvssrlrn_w_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvssrlrn_w_d(_1, _2);}
+v32i8 __lasx_xvssrln_b_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvssrln_b_h(_1, _2);}
+v16i16 __lasx_xvssrln_h_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvssrln_h_w(_1, _2);}
+v8i32 __lasx_xvssrln_w_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvssrln_w_d(_1, _2);}
+v32i8 __lasx_xvorn_v(v32i8 _1, v32i8 _2){return __builtin_lasx_xvorn_v(_1, _2);}
+v4i64 __lasx_xvldi(){return __builtin_lasx_xvldi(1);}
+v32i8 __lasx_xvldx(void * _1){return __builtin_lasx_xvldx(_1, 1);}
+void __lasx_xvstx(v32i8 _1, void * _2){return __builtin_lasx_xvstx(_1, _2, 1);}
+v4u64 __lasx_xvextl_qu_du(v4u64 _1){return __builtin_lasx_xvextl_qu_du(_1);}
+v8i32 __lasx_xvinsgr2vr_w(v8i32 _1){return __builtin_lasx_xvinsgr2vr_w(_1, 1, 1);}
+v4i64 __lasx_xvinsgr2vr_d(v4i64 _1){return __builtin_lasx_xvinsgr2vr_d(_1, 1, 1);}
+v32i8 __lasx_xvreplve0_b(v32i8 _1){return __builtin_lasx_xvreplve0_b(_1);}
+v16i16 __lasx_xvreplve0_h(v16i16 _1){return __builtin_lasx_xvreplve0_h(_1);}
+v8i32 __lasx_xvreplve0_w(v8i32 _1){return __builtin_lasx_xvreplve0_w(_1);}
+v4i64 __lasx_xvreplve0_d(v4i64 _1){return __builtin_lasx_xvreplve0_d(_1);}
+v32i8 __lasx_xvreplve0_q(v32i8 _1){return __builtin_lasx_xvreplve0_q(_1);}
+v16i16 __lasx_vext2xv_h_b(v32i8 _1){return __builtin_lasx_vext2xv_h_b(_1);}
+v8i32 __lasx_vext2xv_w_h(v16i16 _1){return __builtin_lasx_vext2xv_w_h(_1);}
+v4i64 __lasx_vext2xv_d_w(v8i32 _1){return __builtin_lasx_vext2xv_d_w(_1);}
+v8i32 __lasx_vext2xv_w_b(v32i8 _1){return __builtin_lasx_vext2xv_w_b(_1);}
+v4i64 __lasx_vext2xv_d_h(v16i16 _1){return __builtin_lasx_vext2xv_d_h(_1);}
+v4i64 __lasx_vext2xv_d_b(v32i8 _1){return __builtin_lasx_vext2xv_d_b(_1);}
+v16i16 __lasx_vext2xv_hu_bu(v32i8 _1){return __builtin_lasx_vext2xv_hu_bu(_1);}
+v8i32 __lasx_vext2xv_wu_hu(v16i16 _1){return __builtin_lasx_vext2xv_wu_hu(_1);}
+v4i64 __lasx_vext2xv_du_wu(v8i32 _1){return __builtin_lasx_vext2xv_du_wu(_1);}
+v8i32 __lasx_vext2xv_wu_bu(v32i8 _1){return __builtin_lasx_vext2xv_wu_bu(_1);}
+v4i64 __lasx_vext2xv_du_hu(v16i16 _1){return __builtin_lasx_vext2xv_du_hu(_1);}
+v4i64 __lasx_vext2xv_du_bu(v32i8 _1){return __builtin_lasx_vext2xv_du_bu(_1);}
+v32i8 __lasx_xvpermi_q(v32i8 _1, v32i8 _2){return __builtin_lasx_xvpermi_q(_1, _2, 1);}
+v4i64 __lasx_xvpermi_d(v4i64 _1){return __builtin_lasx_xvpermi_d(_1, 1);}
+v8i32 __lasx_xvperm_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvperm_w(_1, _2);}
+v32i8 __lasx_xvldrepl_b(void * _1){return __builtin_lasx_xvldrepl_b(_1, 1);}
+v16i16 __lasx_xvldrepl_h(void * _1){return __builtin_lasx_xvldrepl_h(_1, 2);}
+v8i32 __lasx_xvldrepl_w(void * _1){return __builtin_lasx_xvldrepl_w(_1, 4);}
+v4i64 __lasx_xvldrepl_d(void * _1){return __builtin_lasx_xvldrepl_d(_1, 8);}
+int __lasx_xvpickve2gr_w(v8i32 _1){return __builtin_lasx_xvpickve2gr_w(_1, 1);}
+unsigned int __lasx_xvpickve2gr_wu(v8i32 _1){return __builtin_lasx_xvpickve2gr_wu(_1, 1);}
+long __lasx_xvpickve2gr_d(v4i64 _1){return __builtin_lasx_xvpickve2gr_d(_1, 1);}
+unsigned long int __lasx_xvpickve2gr_du(v4i64 _1){return __builtin_lasx_xvpickve2gr_du(_1, 1);}
+v4i64 __lasx_xvaddwev_q_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvaddwev_q_d(_1, _2);}
+v4i64 __lasx_xvaddwev_d_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvaddwev_d_w(_1, _2);}
+v8i32 __lasx_xvaddwev_w_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvaddwev_w_h(_1, _2);}
+v16i16 __lasx_xvaddwev_h_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvaddwev_h_b(_1, _2);}
+v4i64 __lasx_xvaddwev_q_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvaddwev_q_du(_1, _2);}
+v4i64 __lasx_xvaddwev_d_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvaddwev_d_wu(_1, _2);}
+v8i32 __lasx_xvaddwev_w_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvaddwev_w_hu(_1, _2);}
+v16i16 __lasx_xvaddwev_h_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvaddwev_h_bu(_1, _2);}
+v4i64 __lasx_xvsubwev_q_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsubwev_q_d(_1, _2);}
+v4i64 __lasx_xvsubwev_d_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsubwev_d_w(_1, _2);}
+v8i32 __lasx_xvsubwev_w_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsubwev_w_h(_1, _2);}
+v16i16 __lasx_xvsubwev_h_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvsubwev_h_b(_1, _2);}
+v4i64 __lasx_xvsubwev_q_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvsubwev_q_du(_1, _2);}
+v4i64 __lasx_xvsubwev_d_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvsubwev_d_wu(_1, _2);}
+v8i32 __lasx_xvsubwev_w_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvsubwev_w_hu(_1, _2);}
+v16i16 __lasx_xvsubwev_h_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvsubwev_h_bu(_1, _2);}
+v4i64 __lasx_xvmulwev_q_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvmulwev_q_d(_1, _2);}
+v4i64 __lasx_xvmulwev_d_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvmulwev_d_w(_1, _2);}
+v8i32 __lasx_xvmulwev_w_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvmulwev_w_h(_1, _2);}
+v16i16 __lasx_xvmulwev_h_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvmulwev_h_b(_1, _2);}
+v4i64 __lasx_xvmulwev_q_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvmulwev_q_du(_1, _2);}
+v4i64 __lasx_xvmulwev_d_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvmulwev_d_wu(_1, _2);}
+v8i32 __lasx_xvmulwev_w_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvmulwev_w_hu(_1, _2);}
+v16i16 __lasx_xvmulwev_h_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvmulwev_h_bu(_1, _2);}
+v4i64 __lasx_xvaddwod_q_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvaddwod_q_d(_1, _2);}
+v4i64 __lasx_xvaddwod_d_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvaddwod_d_w(_1, _2);}
+v8i32 __lasx_xvaddwod_w_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvaddwod_w_h(_1, _2);}
+v16i16 __lasx_xvaddwod_h_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvaddwod_h_b(_1, _2);}
+v4i64 __lasx_xvaddwod_q_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvaddwod_q_du(_1, _2);}
+v4i64 __lasx_xvaddwod_d_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvaddwod_d_wu(_1, _2);}
+v8i32 __lasx_xvaddwod_w_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvaddwod_w_hu(_1, _2);}
+v16i16 __lasx_xvaddwod_h_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvaddwod_h_bu(_1, _2);}
+v4i64 __lasx_xvsubwod_q_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsubwod_q_d(_1, _2);}
+v4i64 __lasx_xvsubwod_d_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsubwod_d_w(_1, _2);}
+v8i32 __lasx_xvsubwod_w_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsubwod_w_h(_1, _2);}
+v16i16 __lasx_xvsubwod_h_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvsubwod_h_b(_1, _2);}
+v4i64 __lasx_xvsubwod_q_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvsubwod_q_du(_1, _2);}
+v4i64 __lasx_xvsubwod_d_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvsubwod_d_wu(_1, _2);}
+v8i32 __lasx_xvsubwod_w_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvsubwod_w_hu(_1, _2);}
+v16i16 __lasx_xvsubwod_h_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvsubwod_h_bu(_1, _2);}
+v4i64 __lasx_xvmulwod_q_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvmulwod_q_d(_1, _2);}
+v4i64 __lasx_xvmulwod_d_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvmulwod_d_w(_1, _2);}
+v8i32 __lasx_xvmulwod_w_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvmulwod_w_h(_1, _2);}
+v16i16 __lasx_xvmulwod_h_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvmulwod_h_b(_1, _2);}
+v4i64 __lasx_xvmulwod_q_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvmulwod_q_du(_1, _2);}
+v4i64 __lasx_xvmulwod_d_wu(v8u32 _1, v8u32 _2){return __builtin_lasx_xvmulwod_d_wu(_1, _2);}
+v8i32 __lasx_xvmulwod_w_hu(v16u16 _1, v16u16 _2){return __builtin_lasx_xvmulwod_w_hu(_1, _2);}
+v16i16 __lasx_xvmulwod_h_bu(v32u8 _1, v32u8 _2){return __builtin_lasx_xvmulwod_h_bu(_1, _2);}
+v4i64 __lasx_xvaddwev_d_wu_w(v8u32 _1, v8i32 _2){return __builtin_lasx_xvaddwev_d_wu_w(_1, _2);}
+v8i32 __lasx_xvaddwev_w_hu_h(v16u16 _1, v16i16 _2){return __builtin_lasx_xvaddwev_w_hu_h(_1, _2);}
+v16i16 __lasx_xvaddwev_h_bu_b(v32u8 _1, v32i8 _2){return __builtin_lasx_xvaddwev_h_bu_b(_1, _2);}
+v4i64 __lasx_xvmulwev_d_wu_w(v8u32 _1, v8i32 _2){return __builtin_lasx_xvmulwev_d_wu_w(_1, _2);}
+v8i32 __lasx_xvmulwev_w_hu_h(v16u16 _1, v16i16 _2){return __builtin_lasx_xvmulwev_w_hu_h(_1, _2);}
+v16i16 __lasx_xvmulwev_h_bu_b(v32u8 _1, v32i8 _2){return __builtin_lasx_xvmulwev_h_bu_b(_1, _2);}
+v4i64 __lasx_xvaddwod_d_wu_w(v8u32 _1, v8i32 _2){return __builtin_lasx_xvaddwod_d_wu_w(_1, _2);}
+v8i32 __lasx_xvaddwod_w_hu_h(v16u16 _1, v16i16 _2){return __builtin_lasx_xvaddwod_w_hu_h(_1, _2);}
+v16i16 __lasx_xvaddwod_h_bu_b(v32u8 _1, v32i8 _2){return __builtin_lasx_xvaddwod_h_bu_b(_1, _2);}
+v4i64 __lasx_xvmulwod_d_wu_w(v8u32 _1, v8i32 _2){return __builtin_lasx_xvmulwod_d_wu_w(_1, _2);}
+v8i32 __lasx_xvmulwod_w_hu_h(v16u16 _1, v16i16 _2){return __builtin_lasx_xvmulwod_w_hu_h(_1, _2);}
+v16i16 __lasx_xvmulwod_h_bu_b(v32u8 _1, v32i8 _2){return __builtin_lasx_xvmulwod_h_bu_b(_1, _2);}
+v4i64 __lasx_xvhaddw_q_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvhaddw_q_d(_1, _2);}
+v4u64 __lasx_xvhaddw_qu_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvhaddw_qu_du(_1, _2);}
+v4i64 __lasx_xvhsubw_q_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvhsubw_q_d(_1, _2);}
+v4u64 __lasx_xvhsubw_qu_du(v4u64 _1, v4u64 _2){return __builtin_lasx_xvhsubw_qu_du(_1, _2);}
+v4i64 __lasx_xvmaddwev_q_d(v4i64 _1, v4i64 _2, v4i64 _3){return __builtin_lasx_xvmaddwev_q_d(_1, _2, _3);}
+v4i64 __lasx_xvmaddwev_d_w(v4i64 _1, v8i32 _2, v8i32 _3){return __builtin_lasx_xvmaddwev_d_w(_1, _2, _3);}
+v8i32 __lasx_xvmaddwev_w_h(v8i32 _1, v16i16 _2, v16i16 _3){return __builtin_lasx_xvmaddwev_w_h(_1, _2, _3);}
+v16i16 __lasx_xvmaddwev_h_b(v16i16 _1, v32i8 _2, v32i8 _3){return __builtin_lasx_xvmaddwev_h_b(_1, _2, _3);}
+v4u64 __lasx_xvmaddwev_q_du(v4u64 _1, v4u64 _2, v4u64 _3){return __builtin_lasx_xvmaddwev_q_du(_1, _2, _3);}
+v4u64 __lasx_xvmaddwev_d_wu(v4u64 _1, v8u32 _2, v8u32 _3){return __builtin_lasx_xvmaddwev_d_wu(_1, _2, _3);}
+v8u32 __lasx_xvmaddwev_w_hu(v8u32 _1, v16u16 _2, v16u16 _3){return __builtin_lasx_xvmaddwev_w_hu(_1, _2, _3);}
+v16u16 __lasx_xvmaddwev_h_bu(v16u16 _1, v32u8 _2, v32u8 _3){return __builtin_lasx_xvmaddwev_h_bu(_1, _2, _3);}
+v4i64 __lasx_xvmaddwod_q_d(v4i64 _1, v4i64 _2, v4i64 _3){return __builtin_lasx_xvmaddwod_q_d(_1, _2, _3);}
+v4i64 __lasx_xvmaddwod_d_w(v4i64 _1, v8i32 _2, v8i32 _3){return __builtin_lasx_xvmaddwod_d_w(_1, _2, _3);}
+v8i32 __lasx_xvmaddwod_w_h(v8i32 _1, v16i16 _2, v16i16 _3){return __builtin_lasx_xvmaddwod_w_h(_1, _2, _3);}
+v16i16 __lasx_xvmaddwod_h_b(v16i16 _1, v32i8 _2, v32i8 _3){return __builtin_lasx_xvmaddwod_h_b(_1, _2, _3);}
+v4u64 __lasx_xvmaddwod_q_du(v4u64 _1, v4u64 _2, v4u64 _3){return __builtin_lasx_xvmaddwod_q_du(_1, _2, _3);}
+v4u64 __lasx_xvmaddwod_d_wu(v4u64 _1, v8u32 _2, v8u32 _3){return __builtin_lasx_xvmaddwod_d_wu(_1, _2, _3);}
+v8u32 __lasx_xvmaddwod_w_hu(v8u32 _1, v16u16 _2, v16u16 _3){return __builtin_lasx_xvmaddwod_w_hu(_1, _2, _3);}
+v16u16 __lasx_xvmaddwod_h_bu(v16u16 _1, v32u8 _2, v32u8 _3){return __builtin_lasx_xvmaddwod_h_bu(_1, _2, _3);}
+v4i64 __lasx_xvmaddwev_q_du_d(v4i64 _1, v4u64 _2, v4i64 _3){return __builtin_lasx_xvmaddwev_q_du_d(_1, _2, _3);}
+v4i64 __lasx_xvmaddwev_d_wu_w(v4i64 _1, v8u32 _2, v8i32 _3){return __builtin_lasx_xvmaddwev_d_wu_w(_1, _2, _3);}
+v8i32 __lasx_xvmaddwev_w_hu_h(v8i32 _1, v16u16 _2, v16i16 _3){return __builtin_lasx_xvmaddwev_w_hu_h(_1, _2, _3);}
+v16i16 __lasx_xvmaddwev_h_bu_b(v16i16 _1, v32u8 _2, v32i8 _3){return __builtin_lasx_xvmaddwev_h_bu_b(_1, _2, _3);}
+v4i64 __lasx_xvmaddwod_q_du_d(v4i64 _1, v4u64 _2, v4i64 _3){return __builtin_lasx_xvmaddwod_q_du_d(_1, _2, _3);}
+v4i64 __lasx_xvmaddwod_d_wu_w(v4i64 _1, v8u32 _2, v8i32 _3){return __builtin_lasx_xvmaddwod_d_wu_w(_1, _2, _3);}
+v8i32 __lasx_xvmaddwod_w_hu_h(v8i32 _1, v16u16 _2, v16i16 _3){return __builtin_lasx_xvmaddwod_w_hu_h(_1, _2, _3);}
+v16i16 __lasx_xvmaddwod_h_bu_b(v16i16 _1, v32u8 _2, v32i8 _3){return __builtin_lasx_xvmaddwod_h_bu_b(_1, _2, _3);}
+v32i8 __lasx_xvrotr_b(v32i8 _1, v32i8 _2){return __builtin_lasx_xvrotr_b(_1, _2);}
+v16i16 __lasx_xvrotr_h(v16i16 _1, v16i16 _2){return __builtin_lasx_xvrotr_h(_1, _2);}
+v8i32 __lasx_xvrotr_w(v8i32 _1, v8i32 _2){return __builtin_lasx_xvrotr_w(_1, _2);}
+v4i64 __lasx_xvrotr_d(v4i64 _1, v4i64 _2){return __builtin_lasx_xvrotr_d(_1, _2);}
+v4i64 __lasx_xvadd_q(v4i64 _1, v4i64 _2){return __builtin_lasx_xvadd_q(_1, _2);}
+v4i64 __lasx_xvsub_q(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsub_q(_1, _2);}
+v4i64 __lasx_xvaddwev_q_du_d(v4u64 _1, v4i64 _2){return __builtin_lasx_xvaddwev_q_du_d(_1, _2);}
+v4i64 __lasx_xvaddwod_q_du_d(v4u64 _1, v4i64 _2){return __builtin_lasx_xvaddwod_q_du_d(_1, _2);}
+v4i64 __lasx_xvmulwev_q_du_d(v4u64 _1, v4i64 _2){return __builtin_lasx_xvmulwev_q_du_d(_1, _2);}
+v4i64 __lasx_xvmulwod_q_du_d(v4u64 _1, v4i64 _2){return __builtin_lasx_xvmulwod_q_du_d(_1, _2);}
+v32i8 __lasx_xvmskgez_b(v32i8 _1){return __builtin_lasx_xvmskgez_b(_1);}
+v32i8 __lasx_xvmsknz_b(v32i8 _1){return __builtin_lasx_xvmsknz_b(_1);}
+v16i16 __lasx_xvexth_h_b(v32i8 _1){return __builtin_lasx_xvexth_h_b(_1);}
+v8i32 __lasx_xvexth_w_h(v16i16 _1){return __builtin_lasx_xvexth_w_h(_1);}
+v4i64 __lasx_xvexth_d_w(v8i32 _1){return __builtin_lasx_xvexth_d_w(_1);}
+v4i64 __lasx_xvexth_q_d(v4i64 _1){return __builtin_lasx_xvexth_q_d(_1);}
+v16u16 __lasx_xvexth_hu_bu(v32u8 _1){return __builtin_lasx_xvexth_hu_bu(_1);}
+v8u32 __lasx_xvexth_wu_hu(v16u16 _1){return __builtin_lasx_xvexth_wu_hu(_1);}
+v4u64 __lasx_xvexth_du_wu(v8u32 _1){return __builtin_lasx_xvexth_du_wu(_1);}
+v4u64 __lasx_xvexth_qu_du(v4u64 _1){return __builtin_lasx_xvexth_qu_du(_1);}
+v32i8 __lasx_xvrotri_b(v32i8 _1){return __builtin_lasx_xvrotri_b(_1, 1);}
+v16i16 __lasx_xvrotri_h(v16i16 _1){return __builtin_lasx_xvrotri_h(_1, 1);}
+v8i32 __lasx_xvrotri_w(v8i32 _1){return __builtin_lasx_xvrotri_w(_1, 1);}
+v4i64 __lasx_xvrotri_d(v4i64 _1){return __builtin_lasx_xvrotri_d(_1, 1);}
+v4i64 __lasx_xvextl_q_d(v4i64 _1){return __builtin_lasx_xvextl_q_d(_1);}
+v32i8 __lasx_xvsrlni_b_h(v32i8 _1, v32i8 _2){return __builtin_lasx_xvsrlni_b_h(_1, _2, 1);}
+v16i16 __lasx_xvsrlni_h_w(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsrlni_h_w(_1, _2, 1);}
+v8i32 __lasx_xvsrlni_w_d(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsrlni_w_d(_1, _2, 1);}
+v4i64 __lasx_xvsrlni_d_q(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsrlni_d_q(_1, _2, 1);}
+v32i8 __lasx_xvsrlrni_b_h(v32i8 _1, v32i8 _2){return __builtin_lasx_xvsrlrni_b_h(_1, _2, 1);}
+v16i16 __lasx_xvsrlrni_h_w(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsrlrni_h_w(_1, _2, 1);}
+v8i32 __lasx_xvsrlrni_w_d(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsrlrni_w_d(_1, _2, 1);}
+v4i64 __lasx_xvsrlrni_d_q(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsrlrni_d_q(_1, _2, 1);}
+v32i8 __lasx_xvssrlni_b_h(v32i8 _1, v32i8 _2){return __builtin_lasx_xvssrlni_b_h(_1, _2, 1);}
+v16i16 __lasx_xvssrlni_h_w(v16i16 _1, v16i16 _2){return __builtin_lasx_xvssrlni_h_w(_1, _2, 1);}
+v8i32 __lasx_xvssrlni_w_d(v8i32 _1, v8i32 _2){return __builtin_lasx_xvssrlni_w_d(_1, _2, 1);}
+v4i64 __lasx_xvssrlni_d_q(v4i64 _1, v4i64 _2){return __builtin_lasx_xvssrlni_d_q(_1, _2, 1);}
+v32u8 __lasx_xvssrlni_bu_h(v32u8 _1, v32i8 _2){return __builtin_lasx_xvssrlni_bu_h(_1, _2, 1);}
+v16u16 __lasx_xvssrlni_hu_w(v16u16 _1, v16i16 _2){return __builtin_lasx_xvssrlni_hu_w(_1, _2, 1);}
+v8u32 __lasx_xvssrlni_wu_d(v8u32 _1, v8i32 _2){return __builtin_lasx_xvssrlni_wu_d(_1, _2, 1);}
+v4u64 __lasx_xvssrlni_du_q(v4u64 _1, v4i64 _2){return __builtin_lasx_xvssrlni_du_q(_1, _2, 1);}
+v32i8 __lasx_xvssrlrni_b_h(v32i8 _1, v32i8 _2){return __builtin_lasx_xvssrlrni_b_h(_1, _2, 1);}
+v16i16 __lasx_xvssrlrni_h_w(v16i16 _1, v16i16 _2){return __builtin_lasx_xvssrlrni_h_w(_1, _2, 1);}
+v8i32 __lasx_xvssrlrni_w_d(v8i32 _1, v8i32 _2){return __builtin_lasx_xvssrlrni_w_d(_1, _2, 1);}
+v4i64 __lasx_xvssrlrni_d_q(v4i64 _1, v4i64 _2){return __builtin_lasx_xvssrlrni_d_q(_1, _2, 1);}
+v32u8 __lasx_xvssrlrni_bu_h(v32u8 _1, v32i8 _2){return __builtin_lasx_xvssrlrni_bu_h(_1, _2, 1);}
+v16u16 __lasx_xvssrlrni_hu_w(v16u16 _1, v16i16 _2){return __builtin_lasx_xvssrlrni_hu_w(_1, _2, 1);}
+v8u32 __lasx_xvssrlrni_wu_d(v8u32 _1, v8i32 _2){return __builtin_lasx_xvssrlrni_wu_d(_1, _2, 1);}
+v4u64 __lasx_xvssrlrni_du_q(v4u64 _1, v4i64 _2){return __builtin_lasx_xvssrlrni_du_q(_1, _2, 1);}
+v32i8 __lasx_xvsrani_b_h(v32i8 _1, v32i8 _2){return __builtin_lasx_xvsrani_b_h(_1, _2, 1);}
+v16i16 __lasx_xvsrani_h_w(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsrani_h_w(_1, _2, 1);}
+v8i32 __lasx_xvsrani_w_d(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsrani_w_d(_1, _2, 1);}
+v4i64 __lasx_xvsrani_d_q(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsrani_d_q(_1, _2, 1);}
+v32i8 __lasx_xvsrarni_b_h(v32i8 _1, v32i8 _2){return __builtin_lasx_xvsrarni_b_h(_1, _2, 1);}
+v16i16 __lasx_xvsrarni_h_w(v16i16 _1, v16i16 _2){return __builtin_lasx_xvsrarni_h_w(_1, _2, 1);}
+v8i32 __lasx_xvsrarni_w_d(v8i32 _1, v8i32 _2){return __builtin_lasx_xvsrarni_w_d(_1, _2, 1);}
+v4i64 __lasx_xvsrarni_d_q(v4i64 _1, v4i64 _2){return __builtin_lasx_xvsrarni_d_q(_1, _2, 1);}
+v32i8 __lasx_xvssrani_b_h(v32i8 _1, v32i8 _2){return __builtin_lasx_xvssrani_b_h(_1, _2, 1);}
+v16i16 __lasx_xvssrani_h_w(v16i16 _1, v16i16 _2){return __builtin_lasx_xvssrani_h_w(_1, _2, 1);}
+v8i32 __lasx_xvssrani_w_d(v8i32 _1, v8i32 _2){return __builtin_lasx_xvssrani_w_d(_1, _2, 1);}
+v4i64 __lasx_xvssrani_d_q(v4i64 _1, v4i64 _2){return __builtin_lasx_xvssrani_d_q(_1, _2, 1);}
+v32u8 __lasx_xvssrani_bu_h(v32u8 _1, v32i8 _2){return __builtin_lasx_xvssrani_bu_h(_1, _2, 1);}
+v16u16 __lasx_xvssrani_hu_w(v16u16 _1, v16i16 _2){return __builtin_lasx_xvssrani_hu_w(_1, _2, 1);}
+v8u32 __lasx_xvssrani_wu_d(v8u32 _1, v8i32 _2){return __builtin_lasx_xvssrani_wu_d(_1, _2, 1);}
+v4u64 __lasx_xvssrani_du_q(v4u64 _1, v4i64 _2){return __builtin_lasx_xvssrani_du_q(_1, _2, 1);}
+v32i8 __lasx_xvssrarni_b_h(v32i8 _1, v32i8 _2){return __builtin_lasx_xvssrarni_b_h(_1, _2, 1);}
+v16i16 __lasx_xvssrarni_h_w(v16i16 _1, v16i16 _2){return __builtin_lasx_xvssrarni_h_w(_1, _2, 1);}
+v8i32 __lasx_xvssrarni_w_d(v8i32 _1, v8i32 _2){return __builtin_lasx_xvssrarni_w_d(_1, _2, 1);}
+v4i64 __lasx_xvssrarni_d_q(v4i64 _1, v4i64 _2){return __builtin_lasx_xvssrarni_d_q(_1, _2, 1);}
+v32u8 __lasx_xvssrarni_bu_h(v32u8 _1, v32i8 _2){return __builtin_lasx_xvssrarni_bu_h(_1, _2, 1);}
+v16u16 __lasx_xvssrarni_hu_w(v16u16 _1, v16i16 _2){return __builtin_lasx_xvssrarni_hu_w(_1, _2, 1);}
+v8u32 __lasx_xvssrarni_wu_d(v8u32 _1, v8i32 _2){return __builtin_lasx_xvssrarni_wu_d(_1, _2, 1);}
+v4u64 __lasx_xvssrarni_du_q(v4u64 _1, v4i64 _2){return __builtin_lasx_xvssrarni_du_q(_1, _2, 1);}
+int __lasx_xbnz_b(v32u8 _1){return __builtin_lasx_xbnz_b(_1);}
+int __lasx_xbnz_d(v4u64 _1){return __builtin_lasx_xbnz_d(_1);}
+int __lasx_xbnz_h(v16u16 _1){return __builtin_lasx_xbnz_h(_1);}
+int __lasx_xbnz_v(v32u8 _1){return __builtin_lasx_xbnz_v(_1);}
+int __lasx_xbnz_w(v8u32 _1){return __builtin_lasx_xbnz_w(_1);}
+int __lasx_xbz_b(v32u8 _1){return __builtin_lasx_xbz_b(_1);}
+int __lasx_xbz_d(v4u64 _1){return __builtin_lasx_xbz_d(_1);}
+int __lasx_xbz_h(v16u16 _1){return __builtin_lasx_xbz_h(_1);}
+int __lasx_xbz_v(v32u8 _1){return __builtin_lasx_xbz_v(_1);}
+int __lasx_xbz_w(v8u32 _1){return __builtin_lasx_xbz_w(_1);}
+v4i64 __lasx_xvfcmp_caf_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_caf_d(_1, _2);}
+v8i32 __lasx_xvfcmp_caf_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_caf_s(_1, _2);}
+v4i64 __lasx_xvfcmp_ceq_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_ceq_d(_1, _2);}
+v8i32 __lasx_xvfcmp_ceq_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_ceq_s(_1, _2);}
+v4i64 __lasx_xvfcmp_cle_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_cle_d(_1, _2);}
+v8i32 __lasx_xvfcmp_cle_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_cle_s(_1, _2);}
+v4i64 __lasx_xvfcmp_clt_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_clt_d(_1, _2);}
+v8i32 __lasx_xvfcmp_clt_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_clt_s(_1, _2);}
+v4i64 __lasx_xvfcmp_cne_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_cne_d(_1, _2);}
+v8i32 __lasx_xvfcmp_cne_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_cne_s(_1, _2);}
+v4i64 __lasx_xvfcmp_cor_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_cor_d(_1, _2);}
+v8i32 __lasx_xvfcmp_cor_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_cor_s(_1, _2);}
+v4i64 __lasx_xvfcmp_cueq_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_cueq_d(_1, _2);}
+v8i32 __lasx_xvfcmp_cueq_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_cueq_s(_1, _2);}
+v4i64 __lasx_xvfcmp_cule_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_cule_d(_1, _2);}
+v8i32 __lasx_xvfcmp_cule_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_cule_s(_1, _2);}
+v4i64 __lasx_xvfcmp_cult_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_cult_d(_1, _2);}
+v8i32 __lasx_xvfcmp_cult_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_cult_s(_1, _2);}
+v4i64 __lasx_xvfcmp_cun_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_cun_d(_1, _2);}
+v4i64 __lasx_xvfcmp_cune_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_cune_d(_1, _2);}
+v8i32 __lasx_xvfcmp_cune_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_cune_s(_1, _2);}
+v8i32 __lasx_xvfcmp_cun_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_cun_s(_1, _2);}
+v4i64 __lasx_xvfcmp_saf_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_saf_d(_1, _2);}
+v8i32 __lasx_xvfcmp_saf_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_saf_s(_1, _2);}
+v4i64 __lasx_xvfcmp_seq_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_seq_d(_1, _2);}
+v8i32 __lasx_xvfcmp_seq_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_seq_s(_1, _2);}
+v4i64 __lasx_xvfcmp_sle_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_sle_d(_1, _2);}
+v8i32 __lasx_xvfcmp_sle_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_sle_s(_1, _2);}
+v4i64 __lasx_xvfcmp_slt_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_slt_d(_1, _2);}
+v8i32 __lasx_xvfcmp_slt_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_slt_s(_1, _2);}
+v4i64 __lasx_xvfcmp_sne_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_sne_d(_1, _2);}
+v8i32 __lasx_xvfcmp_sne_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_sne_s(_1, _2);}
+v4i64 __lasx_xvfcmp_sor_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_sor_d(_1, _2);}
+v8i32 __lasx_xvfcmp_sor_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_sor_s(_1, _2);}
+v4i64 __lasx_xvfcmp_sueq_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_sueq_d(_1, _2);}
+v8i32 __lasx_xvfcmp_sueq_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_sueq_s(_1, _2);}
+v4i64 __lasx_xvfcmp_sule_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_sule_d(_1, _2);}
+v8i32 __lasx_xvfcmp_sule_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_sule_s(_1, _2);}
+v4i64 __lasx_xvfcmp_sult_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_sult_d(_1, _2);}
+v8i32 __lasx_xvfcmp_sult_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_sult_s(_1, _2);}
+v4i64 __lasx_xvfcmp_sun_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_sun_d(_1, _2);}
+v4i64 __lasx_xvfcmp_sune_d(v4f64 _1, v4f64 _2){return __builtin_lasx_xvfcmp_sune_d(_1, _2);}
+v8i32 __lasx_xvfcmp_sune_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_sune_s(_1, _2);}
+v8i32 __lasx_xvfcmp_sun_s(v8f32 _1, v8f32 _2){return __builtin_lasx_xvfcmp_sun_s(_1, _2);}
+v4f64 __lasx_xvpickve_d_f(v4f64 _1){return __builtin_lasx_xvpickve_d_f(_1, 1);}
+v8f32 __lasx_xvpickve_w_f(v8f32 _1){return __builtin_lasx_xvpickve_w_f(_1, 1);}
+v32i8 __lasx_xvrepli_b(){return __builtin_lasx_xvrepli_b(1);}
+v4i64 __lasx_xvrepli_d(){return __builtin_lasx_xvrepli_d(1);}
+v16i16 __lasx_xvrepli_h(){return __builtin_lasx_xvrepli_h(1);}
+v8i32 __lasx_xvrepli_w(){return __builtin_lasx_xvrepli_w(1);}
-- 
2.20.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v4 13/22] LoongArch: Add tests for ASX xvldrepl/xvstelm instruction generation.
  2023-09-13  3:40 [PATCH v4 10/22] LoongArch: Add tests for ASX vector xvssran/xvssrani/xvssrarn/xvssrarni/xvssrln/ xvssrlni/xvssrlrn/xvssrlrni instructions Xiaolong Chen
  2023-09-13  3:40 ` [PATCH v4 11/22] LoongArch: Add tests for ASX vector xvbitclr/xvbitclri/xvbitrev/xvbitrevi/ xvbitsel/xvbitseli/xvbitset/xvbitseti/xvclo/xvclz/xvpcnt instructions Xiaolong Chen
  2023-09-13  3:40 ` [PATCH v4 12/22] LoongArch: Add tests for ASX builtin functions Xiaolong Chen
@ 2023-09-13  3:40 ` Xiaolong Chen
  2023-09-13  3:40 ` [PATCH v4 14/22] LoongArch: Add tests for ASX vector floating-point operation instruction Xiaolong Chen
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Xiaolong Chen @ 2023-09-13  3:40 UTC (permalink / raw)
  To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen

gcc/testsuite/ChangeLog:

	* gcc.target/loongarch/vector/lasx/lasx-xvldrepl.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvstelm.c: New test.
---
 .../loongarch/vector/lasx/lasx-xvldrepl.c        | 16 ++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvstelm.c         | 14 ++++++++++++++
 2 files changed, 30 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvldrepl.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvstelm.c

diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvldrepl.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvldrepl.c
new file mode 100644
index 00000000000..10556795119
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvldrepl.c
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-options "-O3 -mlasx" } */
+/* { dg-final { scan-assembler-times "xvldrepl.w" 2} } */
+
+#define N 258
+
+float a[N], b[N], c[N];
+
+void
+test ()
+{
+  for (int i = 0; i < 256; i++)
+    {
+      a[i] = c[0] * b[i] + c[1];
+    }
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvstelm.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvstelm.c
new file mode 100644
index 00000000000..1a7b0e86f8b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvstelm.c
@@ -0,0 +1,14 @@
+/* { dg-do compile } */
+/* { dg-options "-O3 -mlasx" } */
+/* { dg-final { scan-assembler-times "xvstelm.w" 8} } */
+
+#define LEN 256
+
+float a[LEN], b[LEN], c[LEN];
+
+void
+test ()
+{
+  for (int i = 0; i < LEN; i += 2)
+    a[i] = b[i] + c[i];
+}
-- 
2.20.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v4 14/22] LoongArch: Add tests for ASX vector floating-point operation instruction.
  2023-09-13  3:40 [PATCH v4 10/22] LoongArch: Add tests for ASX vector xvssran/xvssrani/xvssrarn/xvssrarni/xvssrln/ xvssrlni/xvssrlrn/xvssrlrni instructions Xiaolong Chen
                   ` (2 preceding siblings ...)
  2023-09-13  3:40 ` [PATCH v4 13/22] LoongArch: Add tests for ASX xvldrepl/xvstelm instruction generation Xiaolong Chen
@ 2023-09-13  3:40 ` Xiaolong Chen
  2023-09-13  3:40 ` [PATCH v4 15/22] LoongArch: Add tests for ASX vector floating-point conversion instruction Xiaolong Chen
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Xiaolong Chen @ 2023-09-13  3:40 UTC (permalink / raw)
  To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen

gcc/testsuite/ChangeLog:

	* gcc.target/loongarch/vector/lasx/lasx-xvfadd_d.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfadd_s.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfclass_d.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfclass_s.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvflogb_d.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvflogb_s.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfmadd_d.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfmadd_s.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfmax_d.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfmax_s.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_d.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_s.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_d.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_s.c: New test.
---
 .../loongarch/vector/lasx/lasx-xvfadd_d.c     | 545 +++++++++++
 .../loongarch/vector/lasx/lasx-xvfadd_s.c     | 911 ++++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvfclass_d.c   | 152 +++
 .../loongarch/vector/lasx/lasx-xvfclass_s.c   |  95 ++
 .../loongarch/vector/lasx/lasx-xvflogb_d.c    |  86 ++
 .../loongarch/vector/lasx/lasx-xvflogb_s.c    | 115 +++
 .../loongarch/vector/lasx/lasx-xvfmadd_d.c    | 382 ++++++++
 .../loongarch/vector/lasx/lasx-xvfmadd_s.c    | 720 ++++++++++++++
 .../loongarch/vector/lasx/lasx-xvfmax_d.c     | 230 +++++
 .../loongarch/vector/lasx/lasx-xvfmax_s.c     | 560 +++++++++++
 .../loongarch/vector/lasx/lasx-xvfmaxa_d.c    | 230 +++++
 .../loongarch/vector/lasx/lasx-xvfmaxa_s.c    | 506 ++++++++++
 .../loongarch/vector/lasx/lasx-xvfsqrt_d.c    | 482 +++++++++
 .../loongarch/vector/lasx/lasx-xvfsqrt_s.c    | 457 +++++++++
 14 files changed, 5471 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfadd_d.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfadd_s.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfclass_d.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfclass_s.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvflogb_d.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvflogb_s.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmadd_d.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmadd_s.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmax_d.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmax_s.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_d.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_s.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_d.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_s.c

diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfadd_d.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfadd_d.c
new file mode 100644
index 00000000000..657a19e5896
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfadd_d.c
@@ -0,0 +1,545 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffff00000000ffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x7ffffffffffff7ff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffe06df0d7;
+  *((unsigned long *)&__m256d_op1[1]) = 0x7ffffffffffff7ff;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffffbe8b470f;
+  *((unsigned long *)&__m256d_result[3]) = 0x7ffffffffffff7ff;
+  *((unsigned long *)&__m256d_result[2]) = 0xffff00000000ffff;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ffffffffffff7ff;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffbe8b470f;
+  __m256d_out = __lasx_xvfadd_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x41d6600000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x41d6600000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256d_result[3]) = 0x41d6600000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256d_result[1]) = 0x41d6600000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7fffffffffffffff;
+  __m256d_out = __lasx_xvfadd_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[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_xvfadd_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[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_xvfadd_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00007fff00007fff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00007fff00007fff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00007fff00007fff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00007fff00007fff;
+  *((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 *)&__m256d_result[3]) = 0x00007fff00007fff;
+  *((unsigned long *)&__m256d_result[2]) = 0x00007fff00007fff;
+  *((unsigned long *)&__m256d_result[1]) = 0x00007fff00007fff;
+  *((unsigned long *)&__m256d_result[0]) = 0x00007fff00007fff;
+  __m256d_out = __lasx_xvfadd_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000022beb03f;
+  *((unsigned long *)&__m256d_op0[2]) = 0x7fffffffa2beb040;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000022beb03f;
+  *((unsigned long *)&__m256d_op0[0]) = 0x7fffffffa2beb040;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x000f000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x000f000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000022beb03f;
+  *((unsigned long *)&__m256d_result[2]) = 0x7fffffffa2beb040;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000022beb03f;
+  *((unsigned long *)&__m256d_result[0]) = 0x7fffffffa2beb040;
+  __m256d_out = __lasx_xvfadd_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x000001c000000134;
+  *((unsigned long *)&__m256d_op0[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x000001c000000134;
+  *((unsigned long *)&__m256d_op0[0]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256d_op1[3]) = 0x000001c000000134;
+  *((unsigned long *)&__m256d_op1[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x000001c000000134;
+  *((unsigned long *)&__m256d_op1[0]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000038000000268;
+  *((unsigned long *)&__m256d_result[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000038000000268;
+  *((unsigned long *)&__m256d_result[0]) = 0x7fff7fff7fff7fff;
+  __m256d_out = __lasx_xvfadd_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[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_xvfadd_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000001010100;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000405;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000001010100;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000405;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000001010100;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000405;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000001010100;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000405;
+  __m256d_out = __lasx_xvfadd_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000040;
+  *((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 *)&__m256d_result[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000040;
+  __m256d_out = __lasx_xvfadd_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000040;
+  *((unsigned long *)&__m256d_op1[3]) = 0x00000000ff88ffc0;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00000000ff78ffc0;
+  *((unsigned long *)&__m256d_op1[1]) = 0x00000000ff88ffc0;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00000000ff78ffc0;
+  *((unsigned long *)&__m256d_result[3]) = 0x00000000ff890000;
+  *((unsigned long *)&__m256d_result[2]) = 0x00000000ff790000;
+  *((unsigned long *)&__m256d_result[1]) = 0x00000000ff890000;
+  *((unsigned long *)&__m256d_result[0]) = 0x00000000ff790000;
+  __m256d_out = __lasx_xvfadd_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x000000000000006d;
+  *((unsigned long *)&__m256d_op0[2]) = 0x000000000010006d;
+  *((unsigned long *)&__m256d_op0[1]) = 0x000000000000006d;
+  *((unsigned long *)&__m256d_op0[0]) = 0x000000000010006d;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000080040;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000080040;
+  *((unsigned long *)&__m256d_result[3]) = 0x00000000000000ad;
+  *((unsigned long *)&__m256d_result[2]) = 0x00000000001800ad;
+  *((unsigned long *)&__m256d_result[1]) = 0x00000000000000ad;
+  *((unsigned long *)&__m256d_result[0]) = 0x00000000001800ad;
+  __m256d_out = __lasx_xvfadd_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256d_op1[3]) = 0x001fffffffe00000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x2020000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x001fffffffe00000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x2020000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x001fffffffe00000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256d_result[1]) = 0x001fffffffe00000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7fffffffffffffff;
+  __m256d_out = __lasx_xvfadd_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffffff8000;
+  __m256d_out = __lasx_xvfadd_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[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_xvfmul_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000400000001;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000400000001;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000100000001;
+  *((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_xvfmul_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[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_xvfmul_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000010100000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000010100000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x00008000003f0000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00390015003529c1;
+  *((unsigned long *)&__m256d_op1[1]) = 0x00008000003f0000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00390015003529c1;
+  *((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_xvfmul_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000001ffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfe00000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000001ffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfe00000000000000;
+  *((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 *)&__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_xvfmul_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x00007ffe81fdfe03;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x80007ffe81fdfe03;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfsub_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[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_xvfsub_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xc1be9e9e9f000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x41d8585858400000;
+  *((unsigned long *)&__m256d_op0[1]) = 0xc1be9e9e9f000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x41d8585858400000;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[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_xvfsub_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0xff00d5007f00ffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xff00ffffff00ffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xff00d5007f00ffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0xff00ffffff00ffff;
+  *((unsigned long *)&__m256d_result[3]) = 0x7f00d5007f00ffff;
+  *((unsigned long *)&__m256d_result[2]) = 0x7f00ffffff00ffff;
+  *((unsigned long *)&__m256d_result[1]) = 0x7f00d5007f00ffff;
+  *((unsigned long *)&__m256d_result[0]) = 0x7f00ffffff00ffff;
+  __m256d_out = __lasx_xvfsub_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[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_xvfsub_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffff00000002;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffff00000002;
+  *((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 *)&__m256d_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffff00000002;
+  *((unsigned long *)&__m256d_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffff00000002;
+  __m256d_out = __lasx_xvfsub_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00ff00fe00ff00fe;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00ff00fe00ff00fe;
+  *((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 *)&__m256d_result[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256d_result[2]) = 0x00ff00fe00ff00fe;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256d_result[0]) = 0x00ff00fe00ff00fe;
+  __m256d_out = __lasx_xvfsub_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[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_xvfsub_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[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_xvfsub_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000005536aaaaac;
+  *((unsigned long *)&__m256d_op0[2]) = 0x55555555aaaaaaac;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000005536aaaaac;
+  *((unsigned long *)&__m256d_op0[0]) = 0x55555555aaaaaaac;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0006000000040000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0002555400000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0006000000040000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0002555400000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x3f2c678e38d1104c;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x3f2c678e38d1104c;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfdiv_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffe367cc82f8989a;
+  *((unsigned long *)&__m256d_op0[2]) = 0x4f90000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffc3aaa8d58f43c8;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x1f0fdf7f3e3b31d4;
+  *((unsigned long *)&__m256d_op1[2]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x1f0fdf7f3e3b31d4;
+  *((unsigned long *)&__m256d_op1[0]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff8000000000000;
+  __m256d_out = __lasx_xvfdiv_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0010000000100000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0010000000100000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0010000000100000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0010000000100000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000483800;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000483800;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x41cc5bb8a95fd1eb;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x41cc5bb8a95fd1eb;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfdiv_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff8000000000000;
+  __m256d_out = __lasx_xvfdiv_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff8000000000000;
+  __m256d_out = __lasx_xvfdiv_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff8000000000000;
+  __m256d_out = __lasx_xvfdiv_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff8000000000000;
+  __m256d_out = __lasx_xvfdiv_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfadd_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfadd_s.c
new file mode 100644
index 00000000000..4002c4074c2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfadd_s.c
@@ -0,0 +1,911 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 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]) = 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;
+  *((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_xvfadd_s (__m256_op0, __m256_op1);
+  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_op1[7]) = 0xffffffff;
+  *((int *)&__m256_op1[6]) = 0x00000001;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000002;
+  *((int *)&__m256_op1[3]) = 0xffffffff;
+  *((int *)&__m256_op1[2]) = 0x00000001;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000002;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0x00000001;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000002;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0x00000001;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000002;
+  __m256_out = __lasx_xvfadd_s (__m256_op0, __m256_op1);
+  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_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;
+  *((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_xvfadd_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_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]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0xffffffff;
+  *((int *)&__m256_op1[4]) = 0xffffffff;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0xffffffff;
+  *((int *)&__m256_op1[0]) = 0xffffffff;
+  *((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_xvfadd_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x40b2bf4d;
+  *((int *)&__m256_op0[6]) = 0x30313031;
+  *((int *)&__m256_op0[5]) = 0x50005000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x40b2bf4d;
+  *((int *)&__m256_op0[2]) = 0x30313031;
+  *((int *)&__m256_op0[1]) = 0x50005000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x22be22be;
+  *((int *)&__m256_op1[5]) = 0x7fff7fff;
+  *((int *)&__m256_op1[4]) = 0xa2bea2be;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x22be22be;
+  *((int *)&__m256_op1[1]) = 0x7fff7fff;
+  *((int *)&__m256_op1[0]) = 0xa2bea2be;
+  *((int *)&__m256_result[7]) = 0x40b2bf4d;
+  *((int *)&__m256_result[6]) = 0x30313031;
+  *((int *)&__m256_result[5]) = 0x7fff7fff;
+  *((int *)&__m256_result[4]) = 0xa2bea2be;
+  *((int *)&__m256_result[3]) = 0x40b2bf4d;
+  *((int *)&__m256_result[2]) = 0x30313031;
+  *((int *)&__m256_result[1]) = 0x7fff7fff;
+  *((int *)&__m256_result[0]) = 0xa2bea2be;
+  __m256_out = __lasx_xvfadd_s (__m256_op0, __m256_op1);
+  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_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00ff0000;
+  *((int *)&__m256_op1[4]) = 0xffffffff;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00ff0000;
+  *((int *)&__m256_op1[0]) = 0xffffffff;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00ff0000;
+  *((int *)&__m256_result[4]) = 0xffffffff;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00ff0000;
+  *((int *)&__m256_result[0]) = 0xffffffff;
+  __m256_out = __lasx_xvfadd_s (__m256_op0, __m256_op1);
+  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]) = 0x0000008c;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x0000008c;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x0000008c;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x0000008c;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000118;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000118;
+  __m256_out = __lasx_xvfadd_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffff8000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffff8000;
+  *((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;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0xffffffff;
+  *((int *)&__m256_result[4]) = 0xffff8000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0xffff8000;
+  __m256_out = __lasx_xvfadd_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xffff0101;
+  *((int *)&__m256_op0[4]) = 0x00000001;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xffff0101;
+  *((int *)&__m256_op0[0]) = 0x00000001;
+  *((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;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0xffff0101;
+  *((int *)&__m256_result[4]) = 0x00000001;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0xffff0101;
+  *((int *)&__m256_result[0]) = 0x00000001;
+  __m256_out = __lasx_xvfadd_s (__m256_op0, __m256_op1);
+  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_op1[7]) = 0xffffffff;
+  *((int *)&__m256_op1[6]) = 0xffffffff;
+  *((int *)&__m256_op1[5]) = 0xffffffff;
+  *((int *)&__m256_op1[4]) = 0xffffffff;
+  *((int *)&__m256_op1[3]) = 0xffffffff;
+  *((int *)&__m256_op1[2]) = 0xffffffff;
+  *((int *)&__m256_op1[1]) = 0xffffffff;
+  *((int *)&__m256_op1[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_xvfmul_s (__m256_op0, __m256_op1);
+  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_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;
+  *((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_xvfmul_s (__m256_op0, __m256_op1);
+  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_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x10101011;
+  *((int *)&__m256_op1[4]) = 0x10101011;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x11111112;
+  *((int *)&__m256_op1[0]) = 0x11111112;
+  *((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_xvfmul_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_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;
+  *((int *)&__m256_op1[7]) = 0x00060000;
+  *((int *)&__m256_op1[6]) = 0x00040000;
+  *((int *)&__m256_op1[5]) = 0x00020000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x00060000;
+  *((int *)&__m256_op1[2]) = 0x00040000;
+  *((int *)&__m256_op1[1]) = 0x00020000;
+  *((int *)&__m256_op1[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_xvfmul_s (__m256_op0, __m256_op1);
+  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_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;
+  *((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_xvfmul_s (__m256_op0, __m256_op1);
+  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_op1[7]) = 0xffffffff;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0xffffffff;
+  *((int *)&__m256_op1[4]) = 0xffffffff;
+  *((int *)&__m256_op1[3]) = 0xffffffff;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0xffffffff;
+  *((int *)&__m256_op1[0]) = 0xffffffff;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0xffffffff;
+  *((int *)&__m256_result[4]) = 0xffffffff;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0xffffffff;
+  __m256_out = __lasx_xvfmul_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x000000ff;
+  *((int *)&__m256_op0[4]) = 0x000000ff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x000000ff;
+  *((int *)&__m256_op0[0]) = 0x000000ff;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000101;
+  *((int *)&__m256_op1[4]) = 0x00000101;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000101;
+  *((int *)&__m256_op1[0]) = 0x00000101;
+  *((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_xvfmul_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0xffff001f;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x007fe268;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0xffff001f;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x007fe268;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0xffff001f;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x007fe268;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0xffff001f;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x007fe268;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0xffff001f;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0xffff001f;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfsub_s (__m256_op0, __m256_op1);
+  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_op1[7]) = 0xffffffff;
+  *((int *)&__m256_op1[6]) = 0xffffffff;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0xffffffff;
+  *((int *)&__m256_op1[2]) = 0xffffffff;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[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_xvfsub_s (__m256_op0, __m256_op1);
+  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_op1[7]) = 0x7f800000;
+  *((int *)&__m256_op1[6]) = 0x7f800000;
+  *((int *)&__m256_op1[5]) = 0x7f800000;
+  *((int *)&__m256_op1[4]) = 0x7f800000;
+  *((int *)&__m256_op1[3]) = 0x7f800000;
+  *((int *)&__m256_op1[2]) = 0x7f800000;
+  *((int *)&__m256_op1[1]) = 0x7f800000;
+  *((int *)&__m256_op1[0]) = 0x7f800000;
+  *((int *)&__m256_result[7]) = 0xff800000;
+  *((int *)&__m256_result[6]) = 0xff800000;
+  *((int *)&__m256_result[5]) = 0xff800000;
+  *((int *)&__m256_result[4]) = 0xff800000;
+  *((int *)&__m256_result[3]) = 0xff800000;
+  *((int *)&__m256_result[2]) = 0xff800000;
+  *((int *)&__m256_result[1]) = 0xff800000;
+  *((int *)&__m256_result[0]) = 0xff800000;
+  __m256_out = __lasx_xvfsub_s (__m256_op0, __m256_op1);
+  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]) = 0x02a54290;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x02a54290;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x02a54290;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x0154dc84;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x02a54290;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000089;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x82a54290;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x028aa700;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x82a54290;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x02a54287;
+  __m256_out = __lasx_xvfsub_s (__m256_op0, __m256_op1);
+  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_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;
+  *((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_xvfsub_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00004200;
+  *((int *)&__m256_op0[6]) = 0x80000000;
+  *((int *)&__m256_op0[5]) = 0x5fff5fff;
+  *((int *)&__m256_op0[4]) = 0x607f0000;
+  *((int *)&__m256_op0[3]) = 0x00004200;
+  *((int *)&__m256_op0[2]) = 0x80000000;
+  *((int *)&__m256_op0[1]) = 0x5fff5fff;
+  *((int *)&__m256_op0[0]) = 0x607f0000;
+  *((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;
+  *((int *)&__m256_result[7]) = 0x00004200;
+  *((int *)&__m256_result[6]) = 0x80000000;
+  *((int *)&__m256_result[5]) = 0x5fff5fff;
+  *((int *)&__m256_result[4]) = 0x607f0000;
+  *((int *)&__m256_result[3]) = 0x00004200;
+  *((int *)&__m256_result[2]) = 0x80000000;
+  *((int *)&__m256_result[1]) = 0x5fff5fff;
+  *((int *)&__m256_result[0]) = 0x607f0000;
+  __m256_out = __lasx_xvfsub_s (__m256_op0, __m256_op1);
+  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_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;
+  *((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_xvfsub_s (__m256_op0, __m256_op1);
+  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_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;
+  *((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_xvfsub_s (__m256_op0, __m256_op1);
+  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_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;
+  *((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_xvfsub_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00800080;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000202;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00800080;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000202;
+  *((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;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00800080;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000202;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00800080;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000202;
+  __m256_out = __lasx_xvfsub_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_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;
+  *((int *)&__m256_op1[7]) = 0x000023a3;
+  *((int *)&__m256_op1[6]) = 0x00003fff;
+  *((int *)&__m256_op1[5]) = 0x000023a3;
+  *((int *)&__m256_op1[4]) = 0x00003fef;
+  *((int *)&__m256_op1[3]) = 0x000023a3;
+  *((int *)&__m256_op1[2]) = 0x00003fff;
+  *((int *)&__m256_op1[1]) = 0x000023a3;
+  *((int *)&__m256_op1[0]) = 0x00003fef;
+  *((int *)&__m256_result[7]) = 0xfffefffe;
+  *((int *)&__m256_result[6]) = 0xfffefffe;
+  *((int *)&__m256_result[5]) = 0xfffefffe;
+  *((int *)&__m256_result[4]) = 0xfffefffe;
+  *((int *)&__m256_result[3]) = 0xfffefffe;
+  *((int *)&__m256_result[2]) = 0xfffefffe;
+  *((int *)&__m256_result[1]) = 0xfffefffe;
+  *((int *)&__m256_result[0]) = 0xfffefffe;
+  __m256_out = __lasx_xvfsub_s (__m256_op0, __m256_op1);
+  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_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x002a542a;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x002a542a;
+  *((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_xvfdiv_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000001;
+  *((int *)&__m256_op0[6]) = 0x00000001;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000001;
+  *((int *)&__m256_op0[2]) = 0x00000001;
+  *((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;
+  *((int *)&__m256_result[7]) = 0x7f800000;
+  *((int *)&__m256_result[6]) = 0x7f800000;
+  *((int *)&__m256_result[5]) = 0x7fc00000;
+  *((int *)&__m256_result[4]) = 0x7fc00000;
+  *((int *)&__m256_result[3]) = 0x7f800000;
+  *((int *)&__m256_result[2]) = 0x7f800000;
+  *((int *)&__m256_result[1]) = 0x7fc00000;
+  *((int *)&__m256_result[0]) = 0x7fc00000;
+  __m256_out = __lasx_xvfdiv_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00fe00fe;
+  *((int *)&__m256_op0[6]) = 0x00fe00fe;
+  *((int *)&__m256_op0[5]) = 0x00fe00fe;
+  *((int *)&__m256_op0[4]) = 0x00fe00fe;
+  *((int *)&__m256_op0[3]) = 0x00fe00fe;
+  *((int *)&__m256_op0[2]) = 0x00fe00fe;
+  *((int *)&__m256_op0[1]) = 0x00fe00fe;
+  *((int *)&__m256_op0[0]) = 0x00fe00fe;
+  *((int *)&__m256_op1[7]) = 0x00fe00fe;
+  *((int *)&__m256_op1[6]) = 0x00fe00fe;
+  *((int *)&__m256_op1[5]) = 0x00fe00fe;
+  *((int *)&__m256_op1[4]) = 0x00fe00fe;
+  *((int *)&__m256_op1[3]) = 0x00fe00fe;
+  *((int *)&__m256_op1[2]) = 0x00fe00fe;
+  *((int *)&__m256_op1[1]) = 0x00fe00fe;
+  *((int *)&__m256_op1[0]) = 0x00fe00fe;
+  *((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_xvfdiv_s (__m256_op0, __m256_op1);
+  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_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;
+  *((int *)&__m256_result[7]) = 0x7fc00000;
+  *((int *)&__m256_result[6]) = 0x7fc00000;
+  *((int *)&__m256_result[5]) = 0x7fc00000;
+  *((int *)&__m256_result[4]) = 0x7fc00000;
+  *((int *)&__m256_result[3]) = 0x7fc00000;
+  *((int *)&__m256_result[2]) = 0x7fc00000;
+  *((int *)&__m256_result[1]) = 0x7fc00000;
+  *((int *)&__m256_result[0]) = 0x7fc00000;
+  __m256_out = __lasx_xvfdiv_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x803f6004;
+  *((int *)&__m256_op0[4]) = 0x1f636003;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x803f6004;
+  *((int *)&__m256_op0[0]) = 0x1f636003;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x007f0107;
+  *((int *)&__m256_op1[4]) = 0x00c70106;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x007f0107;
+  *((int *)&__m256_op1[0]) = 0x00c70106;
+  *((int *)&__m256_result[7]) = 0x7fc00000;
+  *((int *)&__m256_result[6]) = 0x7fc00000;
+  *((int *)&__m256_result[5]) = 0xbeff7cfd;
+  *((int *)&__m256_result[4]) = 0x5e123f94;
+  *((int *)&__m256_result[3]) = 0x7fc00000;
+  *((int *)&__m256_result[2]) = 0x7fc00000;
+  *((int *)&__m256_result[1]) = 0xbeff7cfd;
+  *((int *)&__m256_result[0]) = 0x5e123f94;
+  __m256_out = __lasx_xvfdiv_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000008;
+  *((int *)&__m256_op0[6]) = 0x60601934;
+  *((int *)&__m256_op0[5]) = 0x00000008;
+  *((int *)&__m256_op0[4]) = 0x00200028;
+  *((int *)&__m256_op0[3]) = 0x00000008;
+  *((int *)&__m256_op0[2]) = 0x60601934;
+  *((int *)&__m256_op0[1]) = 0x00000008;
+  *((int *)&__m256_op0[0]) = 0x00200028;
+  *((int *)&__m256_op1[7]) = 0xffffffff;
+  *((int *)&__m256_op1[6]) = 0xffffffff;
+  *((int *)&__m256_op1[5]) = 0xffffffff;
+  *((int *)&__m256_op1[4]) = 0xffffffff;
+  *((int *)&__m256_op1[3]) = 0xffffffff;
+  *((int *)&__m256_op1[2]) = 0xffffffff;
+  *((int *)&__m256_op1[1]) = 0xffffffff;
+  *((int *)&__m256_op1[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_xvfdiv_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfclass_d.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfclass_d.c
new file mode 100644
index 00000000000..5d5b4c43c9c
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfclass_d.c
@@ -0,0 +1,152 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+/* { dg-timeout 500 } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000010001;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000017f0000017d;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000010001;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000017f0000017f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000100;
+  __m256i_out = __lasx_xvfclass_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]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000002;
+  __m256i_out = __lasx_xvfclass_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]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000200;
+  __m256i_out = __lasx_xvfclass_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0006000000040000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0002000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0006000000040000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0002000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000100;
+  __m256i_out = __lasx_xvfclass_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xbf00bf00bf00bf00;
+  *((unsigned long *)&__m256d_op0[2]) = 0xbf84bf00bf00bf0e;
+  *((unsigned long *)&__m256d_op0[1]) = 0xbf00bf00bf00bf00;
+  *((unsigned long *)&__m256d_op0[0]) = 0xbf84bf00bf00bf0e;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000008;
+  __m256i_out = __lasx_xvfclass_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffff00ffffff00;
+  *((unsigned long *)&__m256d_op0[2]) = 0xff00000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffff00ffffff00;
+  *((unsigned long *)&__m256d_op0[0]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000008;
+  __m256i_out = __lasx_xvfclass_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00000000ffff0001;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000000ffff0001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000100;
+  __m256i_out = __lasx_xvfclass_d (__m256d_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]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000002;
+  __m256i_out = __lasx_xvfclass_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000100;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000100;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000100;
+  __m256i_out = __lasx_xvfclass_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00000000000000b7;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffefff80;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00000000000000b7;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffefff80;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000002;
+  __m256i_out = __lasx_xvfclass_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x4040404040404040;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000080;
+  __m256i_out = __lasx_xvfclass_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000400000004000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000400000004000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000400000004000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000400000004000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000100;
+  __m256i_out = __lasx_xvfclass_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfclass_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfclass_s.c
new file mode 100644
index 00000000000..888e85b6ed2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfclass_s.c
@@ -0,0 +1,95 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+/* { dg-timeout 500 } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0xfffffff8;
+  *((int *)&__m256_op0[6]) = 0xffffff08;
+  *((int *)&__m256_op0[5]) = 0x00ff00f8;
+  *((int *)&__m256_op0[4]) = 0x00ffcff8;
+  *((int *)&__m256_op0[3]) = 0xfffffff8;
+  *((int *)&__m256_op0[2]) = 0xffffff08;
+  *((int *)&__m256_op0[1]) = 0x00ff00f8;
+  *((int *)&__m256_op0[0]) = 0x00ffcff8;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000008000000080;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000008000000080;
+  __m256i_out = __lasx_xvfclass_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]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000200000002;
+  __m256i_out = __lasx_xvfclass_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]) = 0x0000020000000200;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000020000000200;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000020000000200;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000020000000200;
+  __m256i_out = __lasx_xvfclass_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x000000ff;
+  *((int *)&__m256_op0[4]) = 0x000000ff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x000000ff;
+  *((int *)&__m256_op0[0]) = 0x000000ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000020000000200;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000010000000100;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000020000000200;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000010000000100;
+  __m256i_out = __lasx_xvfclass_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xfffffffb;
+  *((int *)&__m256_op0[6]) = 0xfffffffb;
+  *((int *)&__m256_op0[5]) = 0xfffffffb;
+  *((int *)&__m256_op0[4]) = 0xfffffffb;
+  *((int *)&__m256_op0[3]) = 0xfffffffb;
+  *((int *)&__m256_op0[2]) = 0xfffffffb;
+  *((int *)&__m256_op0[1]) = 0xfffffffb;
+  *((int *)&__m256_op0[0]) = 0xfffffffb;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000200000002;
+  __m256i_out = __lasx_xvfclass_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvflogb_d.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvflogb_d.c
new file mode 100644
index 00000000000..bba1a06f3d6
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvflogb_d.c
@@ -0,0 +1,86 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0101010101010101;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfffffffffffffefd;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[3]) = 0xc08f780000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xfffffffffffffefd;
+  *((unsigned long *)&__m256d_result[1]) = 0xc08f780000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffffffffff;
+  __m256d_out = __lasx_xvflogb_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]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xfff0000000000000;
+  __m256d_out = __lasx_xvflogb_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]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xfff0000000000000;
+  __m256d_out = __lasx_xvflogb_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]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xfff0000000000000;
+  __m256d_out = __lasx_xvflogb_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]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xfff0000000000000;
+  __m256d_out = __lasx_xvflogb_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]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xfff0000000000000;
+  __m256d_out = __lasx_xvflogb_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvflogb_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvflogb_s.c
new file mode 100644
index 00000000000..b641c733fa5
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvflogb_s.c
@@ -0,0 +1,115 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 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_xvflogb_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x10101010;
+  *((int *)&__m256_op0[6]) = 0x10101012;
+  *((int *)&__m256_op0[5]) = 0x10101010;
+  *((int *)&__m256_op0[4]) = 0x10101012;
+  *((int *)&__m256_op0[3]) = 0x10101010;
+  *((int *)&__m256_op0[2]) = 0x10101093;
+  *((int *)&__m256_op0[1]) = 0x11111111;
+  *((int *)&__m256_op0[0]) = 0x11111113;
+  *((int *)&__m256_result[7]) = 0xc2be0000;
+  *((int *)&__m256_result[6]) = 0xc2be0000;
+  *((int *)&__m256_result[5]) = 0xc2be0000;
+  *((int *)&__m256_result[4]) = 0xc2be0000;
+  *((int *)&__m256_result[3]) = 0xc2be0000;
+  *((int *)&__m256_result[2]) = 0xc2be0000;
+  *((int *)&__m256_result[1]) = 0xc2ba0000;
+  *((int *)&__m256_result[0]) = 0xc2ba0000;
+  __m256_out = __lasx_xvflogb_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]) = 0xff800000;
+  *((int *)&__m256_result[6]) = 0xff800000;
+  *((int *)&__m256_result[5]) = 0xff800000;
+  *((int *)&__m256_result[4]) = 0xff800000;
+  *((int *)&__m256_result[3]) = 0xff800000;
+  *((int *)&__m256_result[2]) = 0xff800000;
+  *((int *)&__m256_result[1]) = 0xff800000;
+  *((int *)&__m256_result[0]) = 0xff800000;
+  __m256_out = __lasx_xvflogb_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]) = 0xff800000;
+  *((int *)&__m256_result[6]) = 0xff800000;
+  *((int *)&__m256_result[5]) = 0xff800000;
+  *((int *)&__m256_result[4]) = 0xff800000;
+  *((int *)&__m256_result[3]) = 0xff800000;
+  *((int *)&__m256_result[2]) = 0xff800000;
+  *((int *)&__m256_result[1]) = 0xff800000;
+  *((int *)&__m256_result[0]) = 0xff800000;
+  __m256_out = __lasx_xvflogb_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000087;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000087;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0xff800000;
+  *((int *)&__m256_result[6]) = 0xff800000;
+  *((int *)&__m256_result[5]) = 0xc30e0000;
+  *((int *)&__m256_result[4]) = 0xff800000;
+  *((int *)&__m256_result[3]) = 0xff800000;
+  *((int *)&__m256_result[2]) = 0xff800000;
+  *((int *)&__m256_result[1]) = 0xc30e0000;
+  *((int *)&__m256_result[0]) = 0xff800000;
+  __m256_out = __lasx_xvflogb_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmadd_d.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmadd_d.c
new file mode 100644
index 00000000000..c85c94bf674
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmadd_d.c
@@ -0,0 +1,382 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0xe37affb42fc05f69;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x65fb66c81da8e5ba;
+  *((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 *)&__m256d_op2[3]) = 0x8b1414140e0e0e0e;
+  *((unsigned long *)&__m256d_op2[2]) = 0x00d6c1c830160048;
+  *((unsigned long *)&__m256d_op2[1]) = 0x36722a7e66972cd6;
+  *((unsigned long *)&__m256d_op2[0]) = 0xe3aebaf4df958004;
+  *((unsigned long *)&__m256d_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[2]) = 0x00d6c1c830160048;
+  *((unsigned long *)&__m256d_result[1]) = 0x36722a7e66972cd6;
+  *((unsigned long *)&__m256d_result[0]) = 0xe3aebaf4df958004;
+  __m256d_out = __lasx_xvfmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000ffff0000ff80;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000468600007f79;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffff0000ffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000f3280000dfff;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0xfe02fe02fee5fe22;
+  *((unsigned long *)&__m256d_op1[0]) = 0xff49fe4200000000;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x00020001ffb6ffe0;
+  *((unsigned long *)&__m256d_op2[0]) = 0x0049004200000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xffffffff0000ffff;
+  *((unsigned long *)&__m256d_result[0]) = 0xbf28b0686066be60;
+  __m256d_out = __lasx_xvfmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0xc5c5c5c5c5c5c5c5;
+  *((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_xvfmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x2);
+  *((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 *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[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_xvfmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00007f7f00000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00007f7f00007fff;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00000000000f1a40;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[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_xvfmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  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_op1[3]) = 0x0000aaaa00008bfe;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000aaaa0000aaaa;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000aaaa00008bfe;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000aaaa0000aaaa;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000aaaa00008bfe;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000aaaa0000aaaa;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000aaaa00008bfe;
+  *((unsigned long *)&__m256d_op2[0]) = 0x0000aaaa0000aaaa;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000aaaa00008bfe;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000aaaa0000aaaa;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000aaaa00008bfe;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000aaaa0000aaaa;
+  __m256d_out = __lasx_xvfmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0202020202020202;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0202810102020202;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0202020202020202;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0202810102020202;
+  *((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 *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x00007fff00000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x00007fff00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x00007fff00000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x00007fff00000000;
+  __m256d_out = __lasx_xvfmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x007f00ff007f00ff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x007f00ff007f00ff;
+  *((unsigned long *)&__m256d_op2[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op2[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256d_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x000000000000ffff;
+  __m256d_out = __lasx_xvfmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  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_op1[3]) = 0x00ff010000ff017e;
+  *((unsigned long *)&__m256d_op1[2]) = 0x01fe01ae00ff00ff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x00ff010000ff017e;
+  *((unsigned long *)&__m256d_op1[0]) = 0x01fe01ae00ff00ff;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0001000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000000100010001;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0001000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x0000000100010001;
+  *((unsigned long *)&__m256d_result[3]) = 0x0001000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000100010001;
+  *((unsigned long *)&__m256d_result[1]) = 0x0001000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000100010001;
+  __m256d_out = __lasx_xvfmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffba8300004fc2;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffba8300004fc2;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffba8300004fc2;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffba8300004fc2;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[3]) = 0xffffba8300004fc2;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[1]) = 0xffffba8300004fc2;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffffffffff;
+  __m256d_out = __lasx_xvfmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[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_xvfmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0xffffffffff000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0xffffffffff000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffff000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffff000000;
+  __m256d_out = __lasx_xvfmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00003fff00003fff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00003fff00003fff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00003fff00003fff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00003fff00003fff;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op2[3]) = 0xd3d3d3d3d3d3d3d3;
+  *((unsigned long *)&__m256d_op2[2]) = 0xd3d3d3d3d3d3d3d3;
+  *((unsigned long *)&__m256d_op2[1]) = 0xd3d3d3d3d3d3d3d3;
+  *((unsigned long *)&__m256d_op2[0]) = 0xd3d3d3d3d3d3d3d3;
+  *((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_xvfmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00000fff00000fff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00000fff00000fff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00000fff00000fff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000fff00000fff;
+  *((unsigned long *)&__m256d_op1[3]) = 0x00000fff00000fff;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00000fff00000fff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x00000fff00000fff;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00000fff00000fff;
+  *((unsigned long *)&__m256d_op2[3]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256d_op2[2]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256d_op2[1]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256d_op2[0]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256d_result[3]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256d_result[1]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffffff5f5c;
+  __m256d_out = __lasx_xvfmsub_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00000000ffff8c80;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000000fff0e400;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000007380;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00000000000f1c00;
+  *((unsigned long *)&__m256d_op2[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op2[2]) = 0x00000000ffff8c80;
+  *((unsigned long *)&__m256d_op2[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op2[0]) = 0x00000000fff0e400;
+  *((unsigned long *)&__m256d_result[3]) = 0x80000000ffffffff;
+  *((unsigned long *)&__m256d_result[2]) = 0x80000000ffff8c80;
+  *((unsigned long *)&__m256d_result[1]) = 0x80000000ffffffff;
+  *((unsigned long *)&__m256d_result[0]) = 0x80000000fff0e400;
+  __m256d_out = __lasx_xvfmsub_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000007;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000007;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00000000000001dc;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00000000000001dc;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x00000000000001dc;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x00000000000001dc;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x80000000000001dc;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x80000000000001dc;
+  __m256d_out = __lasx_xvfmsub_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0404000004040000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0404000004040000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0101010101010101;
+  *((unsigned long *)&__m256d_op1[3]) = 0x8011ffee804c004c;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00faff0500c3ff3c;
+  *((unsigned long *)&__m256d_op1[1]) = 0x80f900f980780078;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0057ffa800ceff31;
+  *((unsigned long *)&__m256d_op2[3]) = 0xffffc040ffffc09d;
+  *((unsigned long *)&__m256d_op2[2]) = 0x00003fc00000428a;
+  *((unsigned long *)&__m256d_op2[1]) = 0xffffc040ffffc09d;
+  *((unsigned long *)&__m256d_op2[0]) = 0x00003fc00000428a;
+  *((unsigned long *)&__m256d_result[3]) = 0xffffc040ffffc09d;
+  *((unsigned long *)&__m256d_result[2]) = 0x80003fc00000428a;
+  *((unsigned long *)&__m256d_result[1]) = 0xffffc040ffffc09d;
+  *((unsigned long *)&__m256d_result[0]) = 0x80003fc00000428a;
+  __m256d_out = __lasx_xvfmsub_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op2[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x7ff0000000000000;
+  *((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_xvfmsub_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000100000000;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256d_op2[2]) = 0xffffb2f600006f48;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256d_op2[0]) = 0xffffb2f600006f48;
+  *((unsigned long *)&__m256d_result[3]) = 0x8000000100000001;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffb2f600006f48;
+  *((unsigned long *)&__m256d_result[1]) = 0x8000000100000001;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffb2f600006f48;
+  __m256d_out = __lasx_xvfmsub_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmadd_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmadd_s.c
new file mode 100644
index 00000000000..bde41dd5c03
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmadd_s.c
@@ -0,0 +1,720 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0xffffffff;
+  *((int *)&__m256_op1[2]) = 0xf328dfff;
+  *((int *)&__m256_op1[1]) = 0x6651bfff;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((int *)&__m256_op2[7]) = 0x0000ffff;
+  *((int *)&__m256_op2[6]) = 0x0000ff80;
+  *((int *)&__m256_op2[5]) = 0x00004686;
+  *((int *)&__m256_op2[4]) = 0x00007f79;
+  *((int *)&__m256_op2[3]) = 0x0000ffff;
+  *((int *)&__m256_op2[2]) = 0x0000ffff;
+  *((int *)&__m256_op2[1]) = 0x0000f328;
+  *((int *)&__m256_op2[0]) = 0x0000dfff;
+  *((int *)&__m256_result[7]) = 0x0000ffff;
+  *((int *)&__m256_result[6]) = 0x0000ff80;
+  *((int *)&__m256_result[5]) = 0x00004686;
+  *((int *)&__m256_result[4]) = 0x00007f79;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0x0000ffff;
+  *((int *)&__m256_result[1]) = 0x0000f328;
+  *((int *)&__m256_result[0]) = 0x0000dfff;
+  __m256_out = __lasx_xvfmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  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_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;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((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_xvfmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_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]) = 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;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0xfff10000;
+  *((int *)&__m256_result[4]) = 0xfff10000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0xfff10000;
+  *((int *)&__m256_result[0]) = 0xfff10000;
+  __m256_out = __lasx_xvfmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  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_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;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x803f6004;
+  *((int *)&__m256_op2[4]) = 0x1f636003;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x803f6004;
+  *((int *)&__m256_op2[0]) = 0x1f636003;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x803f6004;
+  *((int *)&__m256_result[4]) = 0x1f636003;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x803f6004;
+  *((int *)&__m256_result[0]) = 0x1f636003;
+  __m256_out = __lasx_xvfmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  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_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0xffffffff;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0xffffffff;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((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_xvfmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffb3430a;
+  *((int *)&__m256_op0[4]) = 0x006ed8b8;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffb3430a;
+  *((int *)&__m256_op0[0]) = 0x006ed8b8;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x000001ff;
+  *((int *)&__m256_op1[4]) = 0x000003fe;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x000001ff;
+  *((int *)&__m256_op1[0]) = 0x000003fe;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x000000ff;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x000000ff;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0xffffffff;
+  *((int *)&__m256_result[5]) = 0xfff3430a;
+  *((int *)&__m256_result[4]) = 0x000000ff;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0xffffffff;
+  *((int *)&__m256_result[1]) = 0xfff3430a;
+  *((int *)&__m256_result[0]) = 0x000000ff;
+  __m256_out = __lasx_xvfmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_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;
+  *((int *)&__m256_op1[7]) = 0x00009fff;
+  *((int *)&__m256_op1[6]) = 0x9ffffd80;
+  *((int *)&__m256_op1[5]) = 0x0000ffff;
+  *((int *)&__m256_op1[4]) = 0x20010001;
+  *((int *)&__m256_op1[3]) = 0x00009fff;
+  *((int *)&__m256_op1[2]) = 0x9ffffd80;
+  *((int *)&__m256_op1[1]) = 0x0000ffff;
+  *((int *)&__m256_op1[0]) = 0x20010001;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00002080;
+  *((int *)&__m256_op2[4]) = 0xdf5b41cf;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00002080;
+  *((int *)&__m256_op2[0]) = 0xdf5b41cf;
+  *((int *)&__m256_result[7]) = 0xfffeb683;
+  *((int *)&__m256_result[6]) = 0x007ffd80;
+  *((int *)&__m256_result[5]) = 0xfffe97c0;
+  *((int *)&__m256_result[4]) = 0xdf5b41cf;
+  *((int *)&__m256_result[3]) = 0xfffeb683;
+  *((int *)&__m256_result[2]) = 0x007ffd80;
+  *((int *)&__m256_result[1]) = 0xfffe97c0;
+  *((int *)&__m256_result[0]) = 0xdf5b41cf;
+  __m256_out = __lasx_xvfmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__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_op1[7]) = 0xfffeb664;
+  *((int *)&__m256_op1[6]) = 0x007ffd61;
+  *((int *)&__m256_op1[5]) = 0xfffe97a1;
+  *((int *)&__m256_op1[4]) = 0xdf5b41b0;
+  *((int *)&__m256_op1[3]) = 0xfffeb664;
+  *((int *)&__m256_op1[2]) = 0x007ffd61;
+  *((int *)&__m256_op1[1]) = 0xfffe97a1;
+  *((int *)&__m256_op1[0]) = 0xdf5b41b0;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x94d7fb52;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0xfffeb664;
+  *((int *)&__m256_result[6]) = 0xffffffff;
+  *((int *)&__m256_result[5]) = 0xfffe97a1;
+  *((int *)&__m256_result[4]) = 0xffffffff;
+  *((int *)&__m256_result[3]) = 0xfffeb664;
+  *((int *)&__m256_result[2]) = 0xffffffff;
+  *((int *)&__m256_result[1]) = 0xfffe97a1;
+  *((int *)&__m256_result[0]) = 0xffffffff;
+  __m256_out = __lasx_xvfmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  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_op1[7]) = 0xffffffff;
+  *((int *)&__m256_op1[6]) = 0xffffffff;
+  *((int *)&__m256_op1[5]) = 0xffffffff;
+  *((int *)&__m256_op1[4]) = 0xffffffff;
+  *((int *)&__m256_op1[3]) = 0xffffffff;
+  *((int *)&__m256_op1[2]) = 0xffffffff;
+  *((int *)&__m256_op1[1]) = 0xffffffff;
+  *((int *)&__m256_op1[0]) = 0xffffffff;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((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_xvfmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  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_op1[7]) = 0xffffffff;
+  *((int *)&__m256_op1[6]) = 0xffffffff;
+  *((int *)&__m256_op1[5]) = 0xffffffff;
+  *((int *)&__m256_op1[4]) = 0xffffffff;
+  *((int *)&__m256_op1[3]) = 0xffffffff;
+  *((int *)&__m256_op1[2]) = 0xffffffff;
+  *((int *)&__m256_op1[1]) = 0xffffffff;
+  *((int *)&__m256_op1[0]) = 0xffffffff;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((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_xvfmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  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_op1[7]) = 0xb70036db;
+  *((int *)&__m256_op1[6]) = 0x12c4007e;
+  *((int *)&__m256_op1[5]) = 0xb7146213;
+  *((int *)&__m256_op1[4]) = 0xfc1e0049;
+  *((int *)&__m256_op1[3]) = 0x000000fe;
+  *((int *)&__m256_op1[2]) = 0xfe02fffe;
+  *((int *)&__m256_op1[1]) = 0xb71c413b;
+  *((int *)&__m256_op1[0]) = 0x199d04b5;
+  *((int *)&__m256_op2[7]) = 0xb70036db;
+  *((int *)&__m256_op2[6]) = 0x12c4007e;
+  *((int *)&__m256_op2[5]) = 0xb7146213;
+  *((int *)&__m256_op2[4]) = 0xfc1e0049;
+  *((int *)&__m256_op2[3]) = 0x000000fe;
+  *((int *)&__m256_op2[2]) = 0xfe02fffe;
+  *((int *)&__m256_op2[1]) = 0xb71c413b;
+  *((int *)&__m256_op2[0]) = 0x199d04b5;
+  *((int *)&__m256_result[7]) = 0x370036db;
+  *((int *)&__m256_result[6]) = 0x92c4007e;
+  *((int *)&__m256_result[5]) = 0x37146213;
+  *((int *)&__m256_result[4]) = 0x7c1e0049;
+  *((int *)&__m256_result[3]) = 0x800000fe;
+  *((int *)&__m256_result[2]) = 0x7e02fffe;
+  *((int *)&__m256_result[1]) = 0x371c413b;
+  *((int *)&__m256_result[0]) = 0x999d04b5;
+  __m256_out = __lasx_xvfmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  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_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;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[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_xvfmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x3f7f7f7e;
+  *((int *)&__m256_op1[4]) = 0xff800000;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x3f7f7f7e;
+  *((int *)&__m256_op1[0]) = 0xff800000;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x7fffffff;
+  *((int *)&__m256_op2[4]) = 0xff7fffff;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x7fffffff;
+  *((int *)&__m256_op2[0]) = 0xff7fffff;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x7fffffff;
+  *((int *)&__m256_result[4]) = 0x7fc00000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x7fffffff;
+  *((int *)&__m256_result[0]) = 0x7fc00000;
+  __m256_out = __lasx_xvfmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  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_op1[7]) = 0xffffffff;
+  *((int *)&__m256_op1[6]) = 0xffffffff;
+  *((int *)&__m256_op1[5]) = 0xffffffff;
+  *((int *)&__m256_op1[4]) = 0xffffffff;
+  *((int *)&__m256_op1[3]) = 0xffffffff;
+  *((int *)&__m256_op1[2]) = 0xffffffff;
+  *((int *)&__m256_op1[1]) = 0xffffffff;
+  *((int *)&__m256_op1[0]) = 0xffffffff;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((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_xvfmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xffffafaf;
+  *((int *)&__m256_op0[4]) = 0xb3b3dc9d;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xffffafaf;
+  *((int *)&__m256_op0[0]) = 0xb3b3dc9d;
+  *((int *)&__m256_op1[7]) = 0x00020000;
+  *((int *)&__m256_op1[6]) = 0x00020000;
+  *((int *)&__m256_op1[5]) = 0x00220021;
+  *((int *)&__m256_op1[4]) = 0x004a007e;
+  *((int *)&__m256_op1[3]) = 0x00020000;
+  *((int *)&__m256_op1[2]) = 0x00020000;
+  *((int *)&__m256_op1[1]) = 0x00220021;
+  *((int *)&__m256_op1[0]) = 0x004a007e;
+  *((int *)&__m256_op2[7]) = 0x00000001;
+  *((int *)&__m256_op2[6]) = 0x00007f7f;
+  *((int *)&__m256_op2[5]) = 0x00000001;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000001;
+  *((int *)&__m256_op2[2]) = 0x00007f7f;
+  *((int *)&__m256_op2[1]) = 0x00000001;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x80000001;
+  *((int *)&__m256_result[6]) = 0x80007f7f;
+  *((int *)&__m256_result[5]) = 0xffffafaf;
+  *((int *)&__m256_result[4]) = 0x80000000;
+  *((int *)&__m256_result[3]) = 0x80000001;
+  *((int *)&__m256_result[2]) = 0x80007f7f;
+  *((int *)&__m256_result[1]) = 0xffffafaf;
+  *((int *)&__m256_result[0]) = 0x80000000;
+  __m256_out = __lasx_xvfmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  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_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;
+  *((int *)&__m256_op2[7]) = 0xffffffe5;
+  *((int *)&__m256_op2[6]) = 0xffffffe5;
+  *((int *)&__m256_op2[5]) = 0xffffffe5;
+  *((int *)&__m256_op2[4]) = 0xffffffe5;
+  *((int *)&__m256_op2[3]) = 0xffffffe5;
+  *((int *)&__m256_op2[2]) = 0xffffffe5;
+  *((int *)&__m256_op2[1]) = 0xffffffe5;
+  *((int *)&__m256_op2[0]) = 0xffffffe5;
+  *((int *)&__m256_result[7]) = 0xffffffe5;
+  *((int *)&__m256_result[6]) = 0xffffffe5;
+  *((int *)&__m256_result[5]) = 0xffffffe5;
+  *((int *)&__m256_result[4]) = 0xffffffe5;
+  *((int *)&__m256_result[3]) = 0xffffffe5;
+  *((int *)&__m256_result[2]) = 0xffffffe5;
+  *((int *)&__m256_result[1]) = 0xffffffe5;
+  *((int *)&__m256_result[0]) = 0xffffffe5;
+  __m256_out = __lasx_xvfmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xbfffffff;
+  *((int *)&__m256_op0[6]) = 0xffff8000;
+  *((int *)&__m256_op0[5]) = 0xbfff8000;
+  *((int *)&__m256_op0[4]) = 0x80000000;
+  *((int *)&__m256_op0[3]) = 0xbfffffff;
+  *((int *)&__m256_op0[2]) = 0xffff8000;
+  *((int *)&__m256_op0[1]) = 0xbfff8000;
+  *((int *)&__m256_op0[0]) = 0x80000000;
+  *((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;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x80000000;
+  *((int *)&__m256_result[6]) = 0xffff8000;
+  *((int *)&__m256_result[5]) = 0x80000000;
+  *((int *)&__m256_result[4]) = 0x80000000;
+  *((int *)&__m256_result[3]) = 0x80000000;
+  *((int *)&__m256_result[2]) = 0xffff8000;
+  *((int *)&__m256_result[1]) = 0x80000000;
+  *((int *)&__m256_result[0]) = 0x80000000;
+  __m256_out = __lasx_xvfmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  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_op1[7]) = 0x02020102;
+  *((int *)&__m256_op1[6]) = 0x02020102;
+  *((int *)&__m256_op1[5]) = 0x02020102;
+  *((int *)&__m256_op1[4]) = 0x02020102;
+  *((int *)&__m256_op1[3]) = 0x02020102;
+  *((int *)&__m256_op1[2]) = 0x02020102;
+  *((int *)&__m256_op1[1]) = 0x02020102;
+  *((int *)&__m256_op1[0]) = 0x02020102;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[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_xvfmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000008;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000008;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000008;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000008;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000008;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000008;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000008;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000008;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000001;
+  *((int *)&__m256_op2[4]) = 0x00000001;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000001;
+  *((int *)&__m256_op2[0]) = 0x00000001;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x80000001;
+  *((int *)&__m256_result[4]) = 0x80000001;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x80000001;
+  *((int *)&__m256_result[0]) = 0x80000001;
+  __m256_out = __lasx_xvfmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  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]) = 0x00000040;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000040;
+  *((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;
+  *((int *)&__m256_op2[7]) = 0x40404040;
+  *((int *)&__m256_op2[6]) = 0x40404040;
+  *((int *)&__m256_op2[5]) = 0x40404040;
+  *((int *)&__m256_op2[4]) = 0x40404040;
+  *((int *)&__m256_op2[3]) = 0x40404040;
+  *((int *)&__m256_op2[2]) = 0x40404040;
+  *((int *)&__m256_op2[1]) = 0x40404040;
+  *((int *)&__m256_op2[0]) = 0x40404040;
+  *((int *)&__m256_result[7]) = 0xc0404040;
+  *((int *)&__m256_result[6]) = 0xc0404040;
+  *((int *)&__m256_result[5]) = 0xc0404040;
+  *((int *)&__m256_result[4]) = 0xc0404040;
+  *((int *)&__m256_result[3]) = 0xc0404040;
+  *((int *)&__m256_result[2]) = 0xc0404040;
+  *((int *)&__m256_result[1]) = 0xc0404040;
+  *((int *)&__m256_result[0]) = 0xc0404040;
+  __m256_out = __lasx_xvfmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmax_d.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmax_d.c
new file mode 100644
index 00000000000..207ba167f31
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmax_d.c
@@ -0,0 +1,230 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x000000040000fff8;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x000000040000fff8;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x000000040000fff8;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfmax_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000200000002;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000008000000080;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000200000002;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000008000000080;
+  *((unsigned long *)&__m256d_op1[3]) = 0xc5c5c5c4c5c5c5c4;
+  *((unsigned long *)&__m256d_op1[2]) = 0x45c5c5c545c5c5c5;
+  *((unsigned long *)&__m256d_op1[1]) = 0xc5c5c5c4c5c5c5c4;
+  *((unsigned long *)&__m256d_op1[0]) = 0x45c5c5c545c5c5c5;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000200000002;
+  *((unsigned long *)&__m256d_result[2]) = 0x45c5c5c545c5c5c5;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000200000002;
+  *((unsigned long *)&__m256d_result[0]) = 0x45c5c5c545c5c5c5;
+  __m256d_out = __lasx_xvfmax_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000004290;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00000000002a96ba;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000004290;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000000002a96ba;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000083f95466;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0101010100005400;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000004290;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000083f95466;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000004290;
+  *((unsigned long *)&__m256d_result[0]) = 0x0101010100005400;
+  __m256d_out = __lasx_xvfmax_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffff00000000;
+  *((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 *)&__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_xvfmax_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[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_xvfmax_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0101000101010001;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0101000101010001;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0101000101010001;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0101000101010001;
+  __m256d_out = __lasx_xvfmax_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0001000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000100010001;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0001000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000100010001;
+  *((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_xvfmin_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[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_xvfmin_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[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_xvfmin_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0200000202000002;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0200000202000002;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0101000101010001;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0101000101010001;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0101000101010001;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0101000101010001;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0101000101010001;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0101000101010001;
+  __m256d_out = __lasx_xvfmin_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[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_xvfmin_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[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_xvfmin_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256d_op1[2]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256d_op1[1]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256d_op1[0]) = 0xfffe97c020010001;
+  *((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_xvfmin_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffffffffffff;
+  *((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_xvfmin_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmax_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmax_s.c
new file mode 100644
index 00000000000..9b7703231db
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmax_s.c
@@ -0,0 +1,560 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x00010101;
+  *((int *)&__m256_op1[6]) = 0x01010101;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00010100;
+  *((int *)&__m256_op1[1]) = 0x00010000;
+  *((int *)&__m256_op1[0]) = 0x01000100;
+  *((int *)&__m256_result[7]) = 0x00010101;
+  *((int *)&__m256_result[6]) = 0x01010101;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00010100;
+  *((int *)&__m256_result[1]) = 0x00010000;
+  *((int *)&__m256_result[0]) = 0x01000100;
+  __m256_out = __lasx_xvfmax_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x59800000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x59800000;
+  *((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;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x59800000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x59800000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfmax_s (__m256_op0, __m256_op1);
+  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_op1[7]) = 0x00010001;
+  *((int *)&__m256_op1[6]) = 0x00010001;
+  *((int *)&__m256_op1[5]) = 0x00010001;
+  *((int *)&__m256_op1[4]) = 0x00010001;
+  *((int *)&__m256_op1[3]) = 0x00010001;
+  *((int *)&__m256_op1[2]) = 0x00010001;
+  *((int *)&__m256_op1[1]) = 0x00010001;
+  *((int *)&__m256_op1[0]) = 0x00010001;
+  *((int *)&__m256_result[7]) = 0x00010001;
+  *((int *)&__m256_result[6]) = 0x00010001;
+  *((int *)&__m256_result[5]) = 0x00010001;
+  *((int *)&__m256_result[4]) = 0x00010001;
+  *((int *)&__m256_result[3]) = 0x00010001;
+  *((int *)&__m256_result[2]) = 0x00010001;
+  *((int *)&__m256_result[1]) = 0x00010001;
+  *((int *)&__m256_result[0]) = 0x00010001;
+  __m256_out = __lasx_xvfmax_s (__m256_op0, __m256_op1);
+  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_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;
+  *((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_xvfmax_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_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;
+  *((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;
+  *((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_xvfmax_s (__m256_op0, __m256_op1);
+  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_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]) = 0x000000ff;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[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]) = 0x000000ff;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfmax_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00003fe0;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00003fe0;
+  *((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;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00003fe0;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00003fe0;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfmax_s (__m256_op0, __m256_op1);
+  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_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;
+  *((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_xvfmax_s (__m256_op0, __m256_op1);
+  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_op1[7]) = 0x0000000e;
+  *((int *)&__m256_op1[6]) = 0x0000000e;
+  *((int *)&__m256_op1[5]) = 0x0000000e;
+  *((int *)&__m256_op1[4]) = 0x0000000e;
+  *((int *)&__m256_op1[3]) = 0x0000000e;
+  *((int *)&__m256_op1[2]) = 0x0000000e;
+  *((int *)&__m256_op1[1]) = 0x0000000e;
+  *((int *)&__m256_op1[0]) = 0x0000000e;
+  *((int *)&__m256_result[7]) = 0x0000000e;
+  *((int *)&__m256_result[6]) = 0x0000000e;
+  *((int *)&__m256_result[5]) = 0x0000000e;
+  *((int *)&__m256_result[4]) = 0x0000000e;
+  *((int *)&__m256_result[3]) = 0x0000000e;
+  *((int *)&__m256_result[2]) = 0x0000000e;
+  *((int *)&__m256_result[1]) = 0x0000000e;
+  *((int *)&__m256_result[0]) = 0x0000000e;
+  __m256_out = __lasx_xvfmax_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0xffdbbbcf;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0xffb8579f;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0xffdbbbcf;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0xffb8579f;
+  *((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;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0xfff8579f;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0xfff8579f;
+  __m256_out = __lasx_xvfmax_s (__m256_op0, __m256_op1);
+  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_op1[7]) = 0x40404040;
+  *((int *)&__m256_op1[6]) = 0x40404040;
+  *((int *)&__m256_op1[5]) = 0x40404040;
+  *((int *)&__m256_op1[4]) = 0x40404040;
+  *((int *)&__m256_op1[3]) = 0x40404040;
+  *((int *)&__m256_op1[2]) = 0x40404040;
+  *((int *)&__m256_op1[1]) = 0x40404040;
+  *((int *)&__m256_op1[0]) = 0x40404040;
+  *((int *)&__m256_result[7]) = 0x40404040;
+  *((int *)&__m256_result[6]) = 0x40404040;
+  *((int *)&__m256_result[5]) = 0x40404040;
+  *((int *)&__m256_result[4]) = 0x40404040;
+  *((int *)&__m256_result[3]) = 0x40404040;
+  *((int *)&__m256_result[2]) = 0x40404040;
+  *((int *)&__m256_result[1]) = 0x40404040;
+  *((int *)&__m256_result[0]) = 0x40404040;
+  __m256_out = __lasx_xvfmax_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x0000006d;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x0010006d;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x0000006d;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x0010006d;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00080040;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00080040;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00080040;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00080040;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00080040;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x0010006d;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00080040;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x0010006d;
+  __m256_out = __lasx_xvfmax_s (__m256_op0, __m256_op1);
+  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]) = 0x000002ff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x000002ff;
+  *((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;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x000002ff;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x000002ff;
+  __m256_out = __lasx_xvfmax_s (__m256_op0, __m256_op1);
+  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]) = 0x7ff90000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x1ff60000;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0xfffffffe;
+  *((int *)&__m256_op1[4]) = 0x00000001;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0xfffffffe;
+  *((int *)&__m256_op1[0]) = 0x00000001;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000001;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000001;
+  __m256_out = __lasx_xvfmin_s (__m256_op0, __m256_op1);
+  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_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;
+  *((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_xvfmin_s (__m256_op0, __m256_op1);
+  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_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;
+  *((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_xvfmin_s (__m256_op0, __m256_op1);
+  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_op1[7]) = 0xffffffff;
+  *((int *)&__m256_op1[6]) = 0xffffffff;
+  *((int *)&__m256_op1[5]) = 0xffffffff;
+  *((int *)&__m256_op1[4]) = 0xffffffff;
+  *((int *)&__m256_op1[3]) = 0xffffffff;
+  *((int *)&__m256_op1[2]) = 0xffffffff;
+  *((int *)&__m256_op1[1]) = 0xffffffff;
+  *((int *)&__m256_op1[0]) = 0xffffffff;
+  *((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_xvfmin_s (__m256_op0, __m256_op1);
+  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_op1[7]) = 0x0218ff78;
+  *((int *)&__m256_op1[6]) = 0xfc38fc38;
+  *((int *)&__m256_op1[5]) = 0xfc000000;
+  *((int *)&__m256_op1[4]) = 0x00000048;
+  *((int *)&__m256_op1[3]) = 0x0218ff78;
+  *((int *)&__m256_op1[2]) = 0xfc38fc38;
+  *((int *)&__m256_op1[1]) = 0xfc000000;
+  *((int *)&__m256_op1[0]) = 0x00000048;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0xfc38fc38;
+  *((int *)&__m256_result[5]) = 0xfc000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0xfc38fc38;
+  *((int *)&__m256_result[1]) = 0xfc000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfmin_s (__m256_op0, __m256_op1);
+  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]) = 0x000000f0;
+  *((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]) = 0x000000f0;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x000000f0;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[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]) = 0x000000f0;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfmin_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffe7;
+  *((int *)&__m256_op0[6]) = 0xffffffe7;
+  *((int *)&__m256_op0[5]) = 0xffffffe7;
+  *((int *)&__m256_op0[4]) = 0xffffffe7;
+  *((int *)&__m256_op0[3]) = 0xffffffe7;
+  *((int *)&__m256_op0[2]) = 0xffffffe7;
+  *((int *)&__m256_op0[1]) = 0xffffffe7;
+  *((int *)&__m256_op0[0]) = 0xffffffe7;
+  *((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;
+  *((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_xvfmin_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_d.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_d.c
new file mode 100644
index 00000000000..96bbb942dba
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_d.c
@@ -0,0 +1,230 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x000000040000fff8;
+  *((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 *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x000000040000fff8;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfmaxa_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffff8001;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffffffffffff;
+  *((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_xvfmaxa_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000018;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000018;
+  *((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 *)&__m256d_result[3]) = 0x0000000000000018;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000018;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfmaxa_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0002000000020000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0002000000010000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0002000000020000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0002000000010000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0002000000020000;
+  *((unsigned long *)&__m256d_result[2]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0002000000020000;
+  *((unsigned long *)&__m256d_result[0]) = 0xfff0000000000000;
+  __m256d_out = __lasx_xvfmaxa_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[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_xvfmaxa_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000001;
+  *((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 *)&__m256d_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000001;
+  __m256d_out = __lasx_xvfmaxa_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0x7fffffffffffffff;
+  *((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_xvfmaxa_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000008000000080;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000008000000080;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000008000000080;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000008000000080;
+  *((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_xvfmina_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256d_op1[2]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256d_op1[1]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256d_op1[0]) = 0xfefefefefefefefe;
+  *((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_xvfmina_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000100;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000100;
+  *((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 *)&__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_xvfmina_d (__m256d_op0, __m256d_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[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_xvfmina_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffb2f600006f48;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffb2f600006f48;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x00000000000000ff;
+  __m256d_out = __lasx_xvfmina_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256d_result[3]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7efefefe80ffffff;
+  __m256d_out = __lasx_xvfmina_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0087ff87f807ff87;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0087ff87f807ff87;
+  *((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 *)&__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_xvfmina_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_s.c
new file mode 100644
index 00000000000..c73a8a74aff
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_s.c
@@ -0,0 +1,506 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x00005555;
+  *((int *)&__m256_op1[6]) = 0x00005555;
+  *((int *)&__m256_op1[5]) = 0x000307ff;
+  *((int *)&__m256_op1[4]) = 0xfe72e815;
+  *((int *)&__m256_op1[3]) = 0x00005555;
+  *((int *)&__m256_op1[2]) = 0x00005555;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000015;
+  *((int *)&__m256_result[7]) = 0x00005555;
+  *((int *)&__m256_result[6]) = 0x00005555;
+  *((int *)&__m256_result[5]) = 0x000307ff;
+  *((int *)&__m256_result[4]) = 0xfe72e815;
+  *((int *)&__m256_result[3]) = 0x00005555;
+  *((int *)&__m256_result[2]) = 0x00005555;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000015;
+  __m256_out = __lasx_xvfmaxa_s (__m256_op0, __m256_op1);
+  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_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;
+  *((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_xvfmaxa_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00ff00ff;
+  *((int *)&__m256_op0[6]) = 0x00ff00ff;
+  *((int *)&__m256_op0[5]) = 0x00ff00ff;
+  *((int *)&__m256_op0[4]) = 0x000c0000;
+  *((int *)&__m256_op0[3]) = 0x00ff00ff;
+  *((int *)&__m256_op0[2]) = 0x00ff00ff;
+  *((int *)&__m256_op0[1]) = 0x00ff00ff;
+  *((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;
+  *((int *)&__m256_result[7]) = 0x00ff00ff;
+  *((int *)&__m256_result[6]) = 0x00ff00ff;
+  *((int *)&__m256_result[5]) = 0x00ff00ff;
+  *((int *)&__m256_result[4]) = 0x000c0000;
+  *((int *)&__m256_result[3]) = 0x00ff00ff;
+  *((int *)&__m256_result[2]) = 0x00ff00ff;
+  *((int *)&__m256_result[1]) = 0x00ff00ff;
+  *((int *)&__m256_result[0]) = 0x00040000;
+  __m256_out = __lasx_xvfmaxa_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x000007ff;
+  *((int *)&__m256_op0[6]) = 0x000007ff;
+  *((int *)&__m256_op0[5]) = 0x000007ff;
+  *((int *)&__m256_op0[4]) = 0xfffff800;
+  *((int *)&__m256_op0[3]) = 0x000007ff;
+  *((int *)&__m256_op0[2]) = 0x000007ff;
+  *((int *)&__m256_op0[1]) = 0x000007ff;
+  *((int *)&__m256_op0[0]) = 0xfffff800;
+  *((int *)&__m256_op1[7]) = 0xffffffff;
+  *((int *)&__m256_op1[6]) = 0xffffffff;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0xffffffff;
+  *((int *)&__m256_op1[2]) = 0xffffffff;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x000007ff;
+  *((int *)&__m256_result[6]) = 0x000007ff;
+  *((int *)&__m256_result[5]) = 0x000007ff;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x000007ff;
+  *((int *)&__m256_result[2]) = 0x000007ff;
+  *((int *)&__m256_result[1]) = 0x000007ff;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfmaxa_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000001;
+  *((int *)&__m256_op0[5]) = 0x001f00e0;
+  *((int *)&__m256_op0[4]) = 0x1f1f1fff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000001;
+  *((int *)&__m256_op0[1]) = 0x001f00e0;
+  *((int *)&__m256_op0[0]) = 0x1f1f1fff;
+  *((int *)&__m256_op1[7]) = 0x80000000;
+  *((int *)&__m256_op1[6]) = 0x80000000;
+  *((int *)&__m256_op1[5]) = 0x80000000;
+  *((int *)&__m256_op1[4]) = 0xff800000;
+  *((int *)&__m256_op1[3]) = 0x80000000;
+  *((int *)&__m256_op1[2]) = 0x80000000;
+  *((int *)&__m256_op1[1]) = 0x80000000;
+  *((int *)&__m256_op1[0]) = 0xff800000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000001;
+  *((int *)&__m256_result[5]) = 0x001f00e0;
+  *((int *)&__m256_result[4]) = 0xff800000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000001;
+  *((int *)&__m256_result[1]) = 0x001f00e0;
+  *((int *)&__m256_result[0]) = 0xff800000;
+  __m256_out = __lasx_xvfmaxa_s (__m256_op0, __m256_op1);
+  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]) = 0x00000001;
+  *((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]) = 0x00000001;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000001;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfmaxa_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00009fff;
+  *((int *)&__m256_op0[6]) = 0x00002001;
+  *((int *)&__m256_op0[5]) = 0x0000ffff;
+  *((int *)&__m256_op0[4]) = 0x0000ffff;
+  *((int *)&__m256_op0[3]) = 0x00009fff;
+  *((int *)&__m256_op0[2]) = 0x00002001;
+  *((int *)&__m256_op0[1]) = 0x0000ffff;
+  *((int *)&__m256_op0[0]) = 0x0000ffff;
+  *((int *)&__m256_op1[7]) = 0xfffeb683;
+  *((int *)&__m256_op1[6]) = 0x9ffffd80;
+  *((int *)&__m256_op1[5]) = 0xfffe97c0;
+  *((int *)&__m256_op1[4]) = 0x20010001;
+  *((int *)&__m256_op1[3]) = 0xfffeb683;
+  *((int *)&__m256_op1[2]) = 0x9ffffd80;
+  *((int *)&__m256_op1[1]) = 0xfffe97c0;
+  *((int *)&__m256_op1[0]) = 0x20010001;
+  *((int *)&__m256_result[7]) = 0x00009fff;
+  *((int *)&__m256_result[6]) = 0x9ffffd80;
+  *((int *)&__m256_result[5]) = 0x0000ffff;
+  *((int *)&__m256_result[4]) = 0x20010001;
+  *((int *)&__m256_result[3]) = 0x00009fff;
+  *((int *)&__m256_result[2]) = 0x9ffffd80;
+  *((int *)&__m256_result[1]) = 0x0000ffff;
+  *((int *)&__m256_result[0]) = 0x20010001;
+  __m256_out = __lasx_xvfmaxa_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000170;
+  *((int *)&__m256_op0[6]) = 0x00000080;
+  *((int *)&__m256_op0[5]) = 0xc0650055;
+  *((int *)&__m256_op0[4]) = 0x0055ffab;
+  *((int *)&__m256_op0[3]) = 0x00000170;
+  *((int *)&__m256_op0[2]) = 0x00000080;
+  *((int *)&__m256_op0[1]) = 0xc0650055;
+  *((int *)&__m256_op0[0]) = 0x0055ffab;
+  *((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;
+  *((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_xvfmina_s (__m256_op0, __m256_op1);
+  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]) = 0xffff0000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0xffff0000;
+  *((int *)&__m256_op1[7]) = 0xfffefffe;
+  *((int *)&__m256_op1[6]) = 0xfffefffe;
+  *((int *)&__m256_op1[5]) = 0xfffefffe;
+  *((int *)&__m256_op1[4]) = 0xfffefffe;
+  *((int *)&__m256_op1[3]) = 0xfffefffe;
+  *((int *)&__m256_op1[2]) = 0xfffefffe;
+  *((int *)&__m256_op1[1]) = 0xfffefffe;
+  *((int *)&__m256_op1[0]) = 0xfffefffe;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0xffff0000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0xffff0000;
+  __m256_out = __lasx_xvfmina_s (__m256_op0, __m256_op1);
+  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_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;
+  *((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_xvfmina_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00fe01f0;
+  *((int *)&__m256_op0[6]) = 0x00010000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00c40086;
+  *((int *)&__m256_op0[3]) = 0x00fe01f0;
+  *((int *)&__m256_op0[2]) = 0x00010000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00c40086;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x82a54290;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x028aa700;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x82a54290;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x02a54287;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00010000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00c40086;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00010000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00c40086;
+  __m256_out = __lasx_xvfmina_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x02a54290;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x0154dc84;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x02a54290;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000089;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x02a54290;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x0154dc84;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x02a54290;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000089;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x02a54290;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x0154dc84;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x02a54290;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000089;
+  __m256_out = __lasx_xvfmina_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x04000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x04000000;
+  *((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;
+  *((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_xvfmina_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00100000;
+  *((int *)&__m256_op0[6]) = 0x00100000;
+  *((int *)&__m256_op0[5]) = 0x00100000;
+  *((int *)&__m256_op0[4]) = 0x00100000;
+  *((int *)&__m256_op0[3]) = 0x00100000;
+  *((int *)&__m256_op0[2]) = 0x00100000;
+  *((int *)&__m256_op0[1]) = 0x00100000;
+  *((int *)&__m256_op0[0]) = 0x00100000;
+  *((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;
+  *((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_xvfmina_s (__m256_op0, __m256_op1);
+  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]) = 0x00000010;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000010;
+  *((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;
+  *((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_xvfmina_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000080;
+  *((int *)&__m256_op0[6]) = 0x00000080;
+  *((int *)&__m256_op0[5]) = 0x00000080;
+  *((int *)&__m256_op0[4]) = 0x00000080;
+  *((int *)&__m256_op0[3]) = 0x00000080;
+  *((int *)&__m256_op0[2]) = 0x00000080;
+  *((int *)&__m256_op0[1]) = 0x00000080;
+  *((int *)&__m256_op0[0]) = 0x00000080;
+  *((int *)&__m256_op1[7]) = 0x00000001;
+  *((int *)&__m256_op1[6]) = 0x00000001;
+  *((int *)&__m256_op1[5]) = 0x00000001;
+  *((int *)&__m256_op1[4]) = 0x00000001;
+  *((int *)&__m256_op1[3]) = 0x00000001;
+  *((int *)&__m256_op1[2]) = 0x00000001;
+  *((int *)&__m256_op1[1]) = 0x00000001;
+  *((int *)&__m256_op1[0]) = 0x00000001;
+  *((int *)&__m256_result[7]) = 0x00000001;
+  *((int *)&__m256_result[6]) = 0x00000001;
+  *((int *)&__m256_result[5]) = 0x00000001;
+  *((int *)&__m256_result[4]) = 0x00000001;
+  *((int *)&__m256_result[3]) = 0x00000001;
+  *((int *)&__m256_result[2]) = 0x00000001;
+  *((int *)&__m256_result[1]) = 0x00000001;
+  *((int *)&__m256_result[0]) = 0x00000001;
+  __m256_out = __lasx_xvfmina_s (__m256_op0, __m256_op1);
+  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_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;
+  *((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_xvfmina_s (__m256_op0, __m256_op1);
+  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_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;
+  *((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_xvfmina_s (__m256_op0, __m256_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_d.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_d.c
new file mode 100644
index 00000000000..18d5c51de02
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_d.c
@@ -0,0 +1,482 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x1e1800001e180000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x1e1800001e180000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x2f03988e2052463e;
+  *((unsigned long *)&__m256d_result[2]) = 0x2f03988e1409212e;
+  *((unsigned long *)&__m256d_result[1]) = 0x2f03988e2052463e;
+  *((unsigned long *)&__m256d_result[0]) = 0x2f03988e1409212e;
+  __m256d_out = __lasx_xvfsqrt_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_xvfsqrt_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00000000003f7e3f;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffc6cc05c64d960e;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00000000003f7e3f;
+  *((unsigned long *)&__m256d_op0[0]) = 0xff874dc687870000;
+  *((unsigned long *)&__m256d_result[3]) = 0x1f0fdf7f3e3b31d4;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x1f0fdf7f3e3b31d4;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff8000000000000;
+  __m256d_out = __lasx_xvfsqrt_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000100000018;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000100000018;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x1f60000000c00000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x1f60000000c00000;
+  __m256d_out = __lasx_xvfsqrt_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0003030300000300;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0003030300000300;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0003030300000100;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0003030300000100;
+  *((unsigned long *)&__m256d_result[3]) = 0x1febc46085090ea0;
+  *((unsigned long *)&__m256d_result[2]) = 0x1febc46085090ea0;
+  *((unsigned long *)&__m256d_result[1]) = 0x1febc46085090567;
+  *((unsigned long *)&__m256d_result[0]) = 0x1febc46085090567;
+  __m256d_out = __lasx_xvfsqrt_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_xvfsqrt_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_xvfsqrt_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000007f007f007f;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000007f007f007f;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x1f9689fdb16cabbd;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x1f9689fdb16cabbd;
+  __m256d_out = __lasx_xvfsqrt_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffff0000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffff0000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffffff0000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffffff0000;
+  __m256d_out = __lasx_xvfsqrt_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_xvfsqrt_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000010000000100;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000010000000100;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x1fa0000000080000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x1fa0000000080000;
+  __m256d_out = __lasx_xvfsqrt_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffffff8000;
+  __m256d_out = __lasx_xvfsqrt_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfrsqrt_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]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffff00000000;
+  __m256d_out = __lasx_xvfrsqrt_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0209fefb08140000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0003fffc00060000;
+  *((unsigned long *)&__m256d_result[3]) = 0x6100000800060005;
+  *((unsigned long *)&__m256d_result[2]) = 0x5ee1c073b800c916;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x5ff00007fff9fff3;
+  __m256d_out = __lasx_xvfrsqrt_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_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 *)&__m256d_result[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x353bb67af686ad9b;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x353bb67af686ad9b;
+  __m256d_out = __lasx_xvfrsqrt_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000001f0000001f;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000001f0000ffff;
+  *((unsigned long *)&__m256d_result[3]) = 0x60000007fffe0001;
+  *((unsigned long *)&__m256d_result[2]) = 0x60000007fffe0001;
+  *((unsigned long *)&__m256d_result[1]) = 0x6056fd4e7926d5c0;
+  *((unsigned long *)&__m256d_result[0]) = 0x6056fd4e1a4616c4;
+  __m256d_out = __lasx_xvfrsqrt_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]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfrsqrt_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]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfrsqrt_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]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfrsqrt_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]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfrsqrt_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00001bfa000000f9;
+  *((unsigned long *)&__m256d_op0[2]) = 0x000000f900004040;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00001bfa000000f9;
+  *((unsigned long *)&__m256d_op0[0]) = 0x000000f900004040;
+  *((unsigned long *)&__m256d_result[3]) = 0x60183329ceb52cf0;
+  *((unsigned long *)&__m256d_result[2]) = 0x6040392cdaf9b3ff;
+  *((unsigned long *)&__m256d_result[1]) = 0x60183329ceb52cf0;
+  *((unsigned long *)&__m256d_result[0]) = 0x6040392cdaf9b3ff;
+  __m256d_out = __lasx_xvfrsqrt_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x3de00103153ff5fb;
+  *((unsigned long *)&__m256d_op0[2]) = 0xbffffffe80000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x3de00103153ff5fb;
+  *((unsigned long *)&__m256d_op0[0]) = 0xbffffffe80000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x40f69fe73c26f4ee;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x40f69fe73c26f4ee;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff8000000000000;
+  __m256d_out = __lasx_xvfrsqrt_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00000007ffffffce;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000007ffffffce;
+  *((unsigned long *)&__m256d_result[3]) = 0x606a20bd700e59a3;
+  *((unsigned long *)&__m256d_result[2]) = 0x6066a09e66c5f1bb;
+  *((unsigned long *)&__m256d_result[1]) = 0x606a20bd700e59a3;
+  *((unsigned long *)&__m256d_result[0]) = 0x6066a09e66c5f1bb;
+  __m256d_out = __lasx_xvfrsqrt_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]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfrecip_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]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfrecip_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]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfrecip_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x03fc03fc03f803f8;
+  *((unsigned long *)&__m256d_op0[2]) = 0x03fc03fc03f803f8;
+  *((unsigned long *)&__m256d_op0[1]) = 0x03fc03fc03f803f8;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x7be2468acf15f39c;
+  *((unsigned long *)&__m256d_result[2]) = 0x7be2468acf15f39c;
+  *((unsigned long *)&__m256d_result[1]) = 0x7be2468acf15f39c;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfrecip_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]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfrecip_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]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfrecip_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000002a54290;
+  *((unsigned long *)&__m256d_op0[2]) = 0x000000000154dc84;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000002a54290;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000089;
+  *((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_xvfrecip_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]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfrecip_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256d_op0[2]) = 0xd0d8eecf383fdf0d;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256d_op0[0]) = 0xd0d8eecf383fdf0d;
+  *((unsigned long *)&__m256d_result[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xaf0489001bd4c0c3;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xaf0489001bd4c0c3;
+  __m256d_out = __lasx_xvfrecip_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000a00000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00000000fffff614;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000a00000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000000fffff614;
+  *((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_xvfrecip_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]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfrecip_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000001e0000001e;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000001e0000001e;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000001e0000001e;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000001e0000001e;
+  *((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_xvfrecip_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0xff80000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0xff80000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x8060000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x8060000000000000;
+  __m256d_out = __lasx_xvfrecip_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]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfrecip_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]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfrecip_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_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 *)&__m256d_result[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffffffffff;
+  __m256d_out = __lasx_xvfrecip_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((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_xvfrecip_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_xvfrecip_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_s.c
new file mode 100644
index 00000000000..27df4a27daf
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_s.c
@@ -0,0 +1,457 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 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]) = 0x00000000;
+  *((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]) = 0x00000000;
+  __m256_out = __lasx_xvfsqrt_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_xvfsqrt_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_xvfsqrt_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]) = 0x0000ff80;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x0000ffff;
+  *((int *)&__m256_result[7]) = 0x7f800000;
+  *((int *)&__m256_result[6]) = 0x7f800000;
+  *((int *)&__m256_result[5]) = 0x7f800000;
+  *((int *)&__m256_result[4]) = 0x60b53246;
+  *((int *)&__m256_result[3]) = 0x7f800000;
+  *((int *)&__m256_result[2]) = 0x7f800000;
+  *((int *)&__m256_result[1]) = 0x7f800000;
+  *((int *)&__m256_result[0]) = 0x60b5054d;
+  __m256_out = __lasx_xvfrsqrt_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]) = 0x0060005a;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0x0060005a;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0xffffffff;
+  *((int *)&__m256_result[5]) = 0xffffffff;
+  *((int *)&__m256_result[4]) = 0x5f13ccf5;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0xffffffff;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0x5f13ccf5;
+  __m256_out = __lasx_xvfrsqrt_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]) = 0x7f800000;
+  *((int *)&__m256_result[6]) = 0x7f800000;
+  *((int *)&__m256_result[5]) = 0x7f800000;
+  *((int *)&__m256_result[4]) = 0x7f800000;
+  *((int *)&__m256_result[3]) = 0x7f800000;
+  *((int *)&__m256_result[2]) = 0x7f800000;
+  *((int *)&__m256_result[1]) = 0x7f800000;
+  *((int *)&__m256_result[0]) = 0x7f800000;
+  __m256_out = __lasx_xvfrsqrt_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]) = 0x7f800000;
+  *((int *)&__m256_result[6]) = 0x7f800000;
+  *((int *)&__m256_result[5]) = 0x7f800000;
+  *((int *)&__m256_result[4]) = 0x7f800000;
+  *((int *)&__m256_result[3]) = 0x7f800000;
+  *((int *)&__m256_result[2]) = 0x7f800000;
+  *((int *)&__m256_result[1]) = 0x7f800000;
+  *((int *)&__m256_result[0]) = 0x7f800000;
+  __m256_out = __lasx_xvfrsqrt_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]) = 0x7f800000;
+  *((int *)&__m256_result[6]) = 0x7f800000;
+  *((int *)&__m256_result[5]) = 0x7f800000;
+  *((int *)&__m256_result[4]) = 0x7f800000;
+  *((int *)&__m256_result[3]) = 0x7f800000;
+  *((int *)&__m256_result[2]) = 0x7f800000;
+  *((int *)&__m256_result[1]) = 0x7f800000;
+  *((int *)&__m256_result[0]) = 0x7f800000;
+  __m256_out = __lasx_xvfrsqrt_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]) = 0x7f800000;
+  *((int *)&__m256_result[6]) = 0x7f800000;
+  *((int *)&__m256_result[5]) = 0x7f800000;
+  *((int *)&__m256_result[4]) = 0x7f800000;
+  *((int *)&__m256_result[3]) = 0x7f800000;
+  *((int *)&__m256_result[2]) = 0x7f800000;
+  *((int *)&__m256_result[1]) = 0x7f800000;
+  *((int *)&__m256_result[0]) = 0x7f800000;
+  __m256_out = __lasx_xvfrsqrt_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]) = 0x7f800000;
+  *((int *)&__m256_result[6]) = 0x7f800000;
+  *((int *)&__m256_result[5]) = 0x7f800000;
+  *((int *)&__m256_result[4]) = 0x7f800000;
+  *((int *)&__m256_result[3]) = 0x7f800000;
+  *((int *)&__m256_result[2]) = 0x7f800000;
+  *((int *)&__m256_result[1]) = 0x7f800000;
+  *((int *)&__m256_result[0]) = 0x7f800000;
+  __m256_out = __lasx_xvfrsqrt_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_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;
+  *((int *)&__m256_result[7]) = 0x7f800000;
+  *((int *)&__m256_result[6]) = 0x7f800000;
+  *((int *)&__m256_result[5]) = 0x64800000;
+  *((int *)&__m256_result[4]) = 0x64000000;
+  *((int *)&__m256_result[3]) = 0x7f800000;
+  *((int *)&__m256_result[2]) = 0x7f800000;
+  *((int *)&__m256_result[1]) = 0x64800000;
+  *((int *)&__m256_result[0]) = 0x64000000;
+  __m256_out = __lasx_xvfrsqrt_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x000000bd;
+  *((int *)&__m256_op0[4]) = 0xfef907bc;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x000000bd;
+  *((int *)&__m256_op0[0]) = 0xfef907bc;
+  *((int *)&__m256_result[7]) = 0x7f800000;
+  *((int *)&__m256_result[6]) = 0x7f800000;
+  *((int *)&__m256_result[5]) = 0x62d2acee;
+  *((int *)&__m256_result[4]) = 0x7fc00000;
+  *((int *)&__m256_result[3]) = 0x7f800000;
+  *((int *)&__m256_result[2]) = 0x7f800000;
+  *((int *)&__m256_result[1]) = 0x62d2acee;
+  *((int *)&__m256_result[0]) = 0x7fc00000;
+  __m256_out = __lasx_xvfrsqrt_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_xvfrsqrt_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x04e8296f;
+  *((int *)&__m256_op0[6]) = 0x18181818;
+  *((int *)&__m256_op0[5]) = 0x132feea9;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x04e8296f;
+  *((int *)&__m256_op0[2]) = 0x18181818;
+  *((int *)&__m256_op0[1]) = 0x132feea9;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x5cbe15f2;
+  *((int *)&__m256_result[6]) = 0x53261036;
+  *((int *)&__m256_result[5]) = 0x559a674d;
+  *((int *)&__m256_result[4]) = 0x7f800000;
+  *((int *)&__m256_result[3]) = 0x5cbe15f2;
+  *((int *)&__m256_result[2]) = 0x53261036;
+  *((int *)&__m256_result[1]) = 0x559a674d;
+  *((int *)&__m256_result[0]) = 0x7f800000;
+  __m256_out = __lasx_xvfrsqrt_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]) = 0x7f800000;
+  *((int *)&__m256_result[6]) = 0x7f800000;
+  *((int *)&__m256_result[5]) = 0x7f800000;
+  *((int *)&__m256_result[4]) = 0x7f800000;
+  *((int *)&__m256_result[3]) = 0x7f800000;
+  *((int *)&__m256_result[2]) = 0x7f800000;
+  *((int *)&__m256_result[1]) = 0x7f800000;
+  *((int *)&__m256_result[0]) = 0x7f800000;
+  __m256_out = __lasx_xvfrecip_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]) = 0x000000ff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x0000ff00;
+  *((int *)&__m256_result[7]) = 0x7f800000;
+  *((int *)&__m256_result[6]) = 0x7f800000;
+  *((int *)&__m256_result[5]) = 0x7f800000;
+  *((int *)&__m256_result[4]) = 0x7f800000;
+  *((int *)&__m256_result[3]) = 0x7f800000;
+  *((int *)&__m256_result[2]) = 0x7f800000;
+  *((int *)&__m256_result[1]) = 0x7f800000;
+  *((int *)&__m256_result[0]) = 0x7f800000;
+  __m256_out = __lasx_xvfrecip_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_xvfrecip_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]) = 0x7f800000;
+  *((int *)&__m256_result[6]) = 0x7f800000;
+  *((int *)&__m256_result[5]) = 0x7f800000;
+  *((int *)&__m256_result[4]) = 0x7f800000;
+  *((int *)&__m256_result[3]) = 0x7f800000;
+  *((int *)&__m256_result[2]) = 0x7f800000;
+  *((int *)&__m256_result[1]) = 0x7f800000;
+  *((int *)&__m256_result[0]) = 0x7f800000;
+  __m256_out = __lasx_xvfrecip_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]) = 0x7f800000;
+  *((int *)&__m256_result[6]) = 0x7f800000;
+  *((int *)&__m256_result[5]) = 0x7f800000;
+  *((int *)&__m256_result[4]) = 0x7f800000;
+  *((int *)&__m256_result[3]) = 0x7f800000;
+  *((int *)&__m256_result[2]) = 0x7f800000;
+  *((int *)&__m256_result[1]) = 0x7f800000;
+  *((int *)&__m256_result[0]) = 0x7f800000;
+  __m256_out = __lasx_xvfrecip_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xfc003802;
+  *((int *)&__m256_op0[6]) = 0xfc000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0xfc00fc00;
+  *((int *)&__m256_op0[3]) = 0xfc003802;
+  *((int *)&__m256_op0[2]) = 0xfc000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0xfc00fc00;
+  *((int *)&__m256_result[7]) = 0x82ff902d;
+  *((int *)&__m256_result[6]) = 0x83000000;
+  *((int *)&__m256_result[5]) = 0x7f800000;
+  *((int *)&__m256_result[4]) = 0x82fe0bd9;
+  *((int *)&__m256_result[3]) = 0x82ff902d;
+  *((int *)&__m256_result[2]) = 0x83000000;
+  *((int *)&__m256_result[1]) = 0x7f800000;
+  *((int *)&__m256_result[0]) = 0x82fe0bd9;
+  __m256_out = __lasx_xvfrecip_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]) = 0x7f800000;
+  *((int *)&__m256_result[6]) = 0x7f800000;
+  *((int *)&__m256_result[5]) = 0x7f800000;
+  *((int *)&__m256_result[4]) = 0x7f800000;
+  *((int *)&__m256_result[3]) = 0x7f800000;
+  *((int *)&__m256_result[2]) = 0x7f800000;
+  *((int *)&__m256_result[1]) = 0x7f800000;
+  *((int *)&__m256_result[0]) = 0x7f800000;
+  __m256_out = __lasx_xvfrecip_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]) = 0x7f800000;
+  *((int *)&__m256_result[6]) = 0x7f800000;
+  *((int *)&__m256_result[5]) = 0x7f800000;
+  *((int *)&__m256_result[4]) = 0x7f800000;
+  *((int *)&__m256_result[3]) = 0x7f800000;
+  *((int *)&__m256_result[2]) = 0x7f800000;
+  *((int *)&__m256_result[1]) = 0x7f800000;
+  *((int *)&__m256_result[0]) = 0x7f800000;
+  __m256_out = __lasx_xvfrecip_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xfd02fd02;
+  *((int *)&__m256_op0[6]) = 0xfd02fd02;
+  *((int *)&__m256_op0[5]) = 0xfd02fd02;
+  *((int *)&__m256_op0[4]) = 0xfd02fd02;
+  *((int *)&__m256_op0[3]) = 0xfd02fd02;
+  *((int *)&__m256_op0[2]) = 0xfd02fd02;
+  *((int *)&__m256_op0[1]) = 0xfd02fd02;
+  *((int *)&__m256_op0[0]) = 0xfd02fd02;
+  *((int *)&__m256_result[7]) = 0x81fa28e4;
+  *((int *)&__m256_result[6]) = 0x81fa28e4;
+  *((int *)&__m256_result[5]) = 0x81fa28e4;
+  *((int *)&__m256_result[4]) = 0x81fa28e4;
+  *((int *)&__m256_result[3]) = 0x81fa28e4;
+  *((int *)&__m256_result[2]) = 0x81fa28e4;
+  *((int *)&__m256_result[1]) = 0x81fa28e4;
+  *((int *)&__m256_result[0]) = 0x81fa28e4;
+  __m256_out = __lasx_xvfrecip_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  return 0;
+}
-- 
2.20.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v4 15/22] LoongArch: Add tests for ASX vector floating-point conversion instruction.
  2023-09-13  3:40 [PATCH v4 10/22] LoongArch: Add tests for ASX vector xvssran/xvssrani/xvssrarn/xvssrarni/xvssrln/ xvssrlni/xvssrlrn/xvssrlrni instructions Xiaolong Chen
                   ` (3 preceding siblings ...)
  2023-09-13  3:40 ` [PATCH v4 14/22] LoongArch: Add tests for ASX vector floating-point operation instruction Xiaolong Chen
@ 2023-09-13  3:40 ` Xiaolong Chen
  2023-09-13  3:40 ` [PATCH v4 16/22] LoongArch: Add tests for ASX vector comparison and selection instruction Xiaolong Chen
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Xiaolong Chen @ 2023-09-13  3:40 UTC (permalink / raw)
  To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen

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 <lasxintrin.h>
+
+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 <lasxintrin.h>
+
+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 <lasxintrin.h>
+
+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 <lasxintrin.h>
+
+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 <lasxintrin.h>
+
+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 <lasxintrin.h>
+
+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 <lasxintrin.h>
+
+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 <lasxintrin.h>
+
+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 <lasxintrin.h>
+
+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 <lasxintrin.h>
+
+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 <lasxintrin.h>
+
+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;
+}
-- 
2.20.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v4 16/22] LoongArch: Add tests for ASX vector comparison and selection instruction.
  2023-09-13  3:40 [PATCH v4 10/22] LoongArch: Add tests for ASX vector xvssran/xvssrani/xvssrarn/xvssrarni/xvssrln/ xvssrlni/xvssrlrn/xvssrlrni instructions Xiaolong Chen
                   ` (4 preceding siblings ...)
  2023-09-13  3:40 ` [PATCH v4 15/22] LoongArch: Add tests for ASX vector floating-point conversion instruction Xiaolong Chen
@ 2023-09-13  3:40 ` Xiaolong Chen
  2023-09-13  3:40 ` [PATCH v4 17/22] LoongArch: Add tests for ASX vector xvfnmadd/xvfrstp/xvfstpi/xvhsubw/ xvmsub/xvrotr/xvrotri/xvld/xvst instructions Xiaolong Chen
  2023-09-13  3:40 ` [PATCH v4 18/22] LoongArch: Add tests for ASX vector xvabsd/xvavg/xvavgr/xvbsll/xvbsrl/xvneg/ xvsat instructions Xiaolong Chen
  7 siblings, 0 replies; 9+ messages in thread
From: Xiaolong Chen @ 2023-09-13  3:40 UTC (permalink / raw)
  To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen

gcc/testsuite/ChangeLog:

	* gcc.target/loongarch/vector/lasx/lasx-xvseq.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvseqi.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvsle-1.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvsle-2.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvslei-1.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvslei-2.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvslt-1.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvslt-2.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvslti-1.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvslti-2.c: New test.
---
 .../loongarch/vector/lasx/lasx-xvseq.c        | 650 ++++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvseqi.c       | 449 ++++++++++++
 .../loongarch/vector/lasx/lasx-xvsle-1.c      | 575 ++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvsle-2.c      | 590 ++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvslei-1.c     | 515 ++++++++++++++
 .../loongarch/vector/lasx/lasx-xvslei-2.c     | 438 ++++++++++++
 .../loongarch/vector/lasx/lasx-xvslt-1.c      | 455 ++++++++++++
 .../loongarch/vector/lasx/lasx-xvslt-2.c      | 620 +++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvslti-1.c     | 548 +++++++++++++++
 .../loongarch/vector/lasx/lasx-xvslti-2.c     | 416 +++++++++++
 10 files changed, 5256 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvseq.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvseqi.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsle-1.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsle-2.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslei-1.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslei-2.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslt-1.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslt-2.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslti-1.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslti-2.c

diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvseq.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvseq.c
new file mode 100644
index 00000000000..2a42386ced5
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvseq.c
@@ -0,0 +1,650 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0xfffe000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00010000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001000100020001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000fffffffffffe;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffff000000010000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000095120000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xc9da000063f50000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xc7387fff6bbfffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff00000000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseq_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7f0000007f000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7f0000007f000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x1555156a1555156a;
+  *((unsigned long *)&__m256i_op1[2]) = 0x1555156a1555156a;
+  *((unsigned long *)&__m256i_op1[1]) = 0x1555156a1555156a;
+  *((unsigned long *)&__m256i_op1[0]) = 0x1555156a1555156a;
+  *((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_xvseq_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x6100000800060005;
+  *((unsigned long *)&__m256i_op0[2]) = 0x5ee1c073b800c916;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x5ff00007fff9fff3;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0209fefb08140000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0003fffc00060000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00ffff00ff000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseq_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000fffffefd;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000fffffefd;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffffffefd;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_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_xvseq_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000080000000800;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffcf800fffcf800;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000080000000800;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000080000000800;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvseq_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffff00fffffff0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffff00fffffff0;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvseq_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvseq_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+  *((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_xvseq_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffefefffffefe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffefe00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvseq_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvseq_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvseq_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000005be55bd2;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffcc8000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000007dfdff4b;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvseq_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff00010003;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0080000200000002;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff00010003;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffff00ffffff00;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff0000ff00ff00;
+  *((unsigned long *)&__m256i_result[1]) = 0xff00ff00ffffff00;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff0000ff00ff00;
+  __m256i_out = __lasx_xvseq_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x4ffc3f783fc040c0;
+  *((unsigned long *)&__m256i_op0[2]) = 0x3fc03f803fc040c0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x4ffc3f783fc040c0;
+  *((unsigned long *)&__m256i_op0[0]) = 0x3fc03f803fc040c0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvseq_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffee0000004c0000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff050000ff3c0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00f9000000780000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffa80000ff310000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvseq_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x8011ffee804c004c;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00faff0500c3ff3c;
+  *((unsigned long *)&__m256i_op1[1]) = 0x80f900f980780078;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0057ffa800ceff31;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000ff00;
+  *((unsigned long *)&__m256i_result[2]) = 0xff000000ff000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ff000000ff00;
+  *((unsigned long *)&__m256i_result[0]) = 0xff000000ff000000;
+  __m256i_out = __lasx_xvseq_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffc040ffffc09d;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00003fc00000428a;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffc040ffffc09d;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00003fc00000428a;
+  *((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_xvseq_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffe00000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffe00000000;
+  *((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_xvseq_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvseq_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvseq_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff0000ffff0001;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff0000ffff0001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvseq_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvseq_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x43ef878780000009;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x43ef878780000009;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000080000009;
+  *((unsigned long *)&__m256i_op1[2]) = 0x43ef878780000009;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000080000009;
+  *((unsigned long *)&__m256i_op1[0]) = 0x43ef878780000009;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvseq_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000077fff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvseq_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvseq_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x003f60041f636003;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x003f60041f636003;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffff00ffffff00;
+  *((unsigned long *)&__m256i_result[2]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffff00ffffff00;
+  *((unsigned long *)&__m256i_result[0]) = 0xff00000000000000;
+  __m256i_out = __lasx_xvseq_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvseq_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvseq_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000005500000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0001005500020000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000005500000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0001005500020000;
+  *((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_xvseq_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvseq_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvseq_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvseq_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((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_xvseq_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffefff7f00100080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffefff7f00100080;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffff01fb0408;
+  *((unsigned long *)&__m256i_op1[2]) = 0xf2b180c9fc1fefdc;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffff01fb0408;
+  *((unsigned long *)&__m256i_op1[0]) = 0xf2b180c9fc1fefdc;
+  *((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_xvseq_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffff00ffffffff;
+  __m256i_out = __lasx_xvseq_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
+  *((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_xvseq_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010001;
+  *((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_xvseq_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000d6d6d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000d6d6d;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvseq_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((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_xvseq_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x001fffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x001fffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0080000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0080000000000000;
+  *((unsigned long *)&__m256i_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_xvseq_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000501ffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000701ffffce;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000501ffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000701ffffce;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvseq_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000260a378;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000d02317;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000260a378;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000d02317;
+  *((unsigned long *)&__m256i_op1[3]) = 0x003f020001400200;
+  *((unsigned long *)&__m256i_op1[2]) = 0x003f00ff003f00c4;
+  *((unsigned long *)&__m256i_op1[1]) = 0x003f020001400200;
+  *((unsigned long *)&__m256i_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_xvseq_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvseqi.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvseqi.c
new file mode 100644
index 00000000000..5478d19c14b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvseqi.c
@@ -0,0 +1,449 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0xfffffffffffffdfe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffdfe;
+  *((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_xvseqi_w (__m256i_op0, 7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000ff00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000ff00000000;
+  *((unsigned long *)&__m256i_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_xvseqi_w (__m256i_op0, -8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_d (__m256i_op0, -9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffff000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffff000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff000000;
+  *((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_xvseqi_h (__m256i_op0, -8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_w (__m256i_op0, -15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_b (__m256i_op0, 4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_w (__m256i_op0, 4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_h (__m256i_op0, -3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_b (__m256i_op0, 4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x009200f200840080;
+  *((unsigned long *)&__m256i_op0[2]) = 0x009200f200840080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00b200b300800080;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00b200b300800080;
+  *((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_xvseqi_w (__m256i_op0, -14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_h (__m256i_op0, 14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__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_xvseqi_d (__m256i_op0, 14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_b (__m256i_op0, -13);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_h (__m256i_op0, 4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_h (__m256i_op0, 11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_b (__m256i_op0, -3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[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_xvseqi_h (__m256i_op0, 10);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xbff0000000000000;
+  *((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_xvseqi_d (__m256i_op0, -3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0010000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0008000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0010000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0008000000000000;
+  *((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_xvseqi_w (__m256i_op0, -3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_w (__m256i_op0, 10);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00197d3200197d56;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00197d3200197d56;
+  *((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_xvseqi_h (__m256i_op0, -10);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[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_xvseqi_b (__m256i_op0, 12);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op0[2]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op0[1]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op0[0]) = 0x4040404040404040;
+  *((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_xvseqi_w (__m256i_op0, -13);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_b (__m256i_op0, -8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_w (__m256i_op0, 4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_b (__m256i_op0, -5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff800000000000;
+  *((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_xvseqi_h (__m256i_op0, -11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000080;
+  *((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_xvseqi_b (__m256i_op0, -10);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000bdfef907bc;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000bdfef907bc;
+  *((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_xvseqi_w (__m256i_op0, -9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_d (__m256i_op0, -14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_b (__m256i_op0, -14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_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_xvseqi_b (__m256i_op0, -15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000fff000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000fff000000000;
+  *((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_xvseqi_w (__m256i_op0, 10);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1fa0000000080000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[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_xvseqi_d (__m256i_op0, 15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_d (__m256i_op0, 14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff0000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff0000ffff;
+  *((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_xvseqi_w (__m256i_op0, 9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x800fffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x800fffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x800fffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x800fffffffffffff;
+  *((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_xvseqi_w (__m256i_op0, 5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvseqi_w (__m256i_op0, -13);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000000c;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000000c;
+  *((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_xvseqi_w (__m256i_op0, 9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsle-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsle-1.c
new file mode 100644
index 00000000000..ed752df0096
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsle-1.c
@@ -0,0 +1,575 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000460086;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000007f0079;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000f30028;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000df00ff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffff0000ffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xbf28b0686066be60;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffff00ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffff00ff00;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffff0000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00ff00ffffff00ff;
+  __m256i_out = __lasx_xvsle_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x1000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00ffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00ffffffffffffff;
+  __m256i_out = __lasx_xvsle_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x1c1b1a191c1b1a19;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1c1b1a191c1b1a19;
+  *((unsigned long *)&__m256i_op0[1]) = 0x1c1b1a191c1b1a19;
+  *((unsigned long *)&__m256i_op0[0]) = 0x1c1b1a191c1b1a19;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvsle_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xb70036db12c4007e;
+  *((unsigned long *)&__m256i_op0[2]) = 0xb7146213fc1e0049;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000fefe02fffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xb71c413b199d04b5;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffff00ff00ffff00;
+  *((unsigned long *)&__m256i_result[2]) = 0xff000000ff00ff00;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffff00ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xff00000000ff00ff;
+  __m256i_out = __lasx_xvsle_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0001000000010000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0001000000010000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xff00ffffff00ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xff00ffffff00ffff;
+  __m256i_out = __lasx_xvsle_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff00ff0000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffbfffa0ffffff80;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff00ff0000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffbfffa0ffffff80;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xbfffa004fffd8000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xbfffa004fffd8000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00ff00ffff0000ff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00ff00ffff0000ff;
+  __m256i_out = __lasx_xvsle_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0a0a000000000a0a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0a0a0a0a00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0a0a000000000a0a;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0a0a0a0a00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvsle_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000ffff0000ffee;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffee;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff0000ffff0000;
+  __m256i_out = __lasx_xvsle_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000001fff000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000001fff000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffdfff80ffdfff80;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffdfff80ffdfff80;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffdfff80ffdfff80;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffdfff80ffdfff80;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff00;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ff00;
+  __m256i_out = __lasx_xvsle_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x001fffffffe00000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x001fffffffe00000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xff00ffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00ffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xff00ffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00ffffffffffffff;
+  __m256i_out = __lasx_xvsle_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffff010100000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffff010100000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffffffffffff;
+  __m256i_out = __lasx_xvsle_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0a0a0a0a7f0a0a0a;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0a0a0a0a7f0a0a0a;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0a0a0a0a7f0a0a0a;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0a0a0a0a7f0a0a0a;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fef7fef7fef7fef;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fef7fef7fef7fef;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fef7fef7fef7fef;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fef7fef7fef7fef;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_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_xvsle_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x2aaaaa85aaaaaa85;
+  *((unsigned long *)&__m256i_op1[2]) = 0x2aaa48f4aaaa48f4;
+  *((unsigned long *)&__m256i_op1[1]) = 0x2aaaaa85aaaaaa85;
+  *((unsigned long *)&__m256i_op1[0]) = 0x2aaa48f4aaaa48f4;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff0000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff0000ffff;
+  __m256i_out = __lasx_xvsle_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000001a00000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000900000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000001a00000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000900000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvsle_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000083f95466;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0101010100005400;
+  *((unsigned long *)&__m256i_op1[3]) = 0x007f00f8ff7fff80;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000fff6a9d8;
+  *((unsigned long *)&__m256i_op1[1]) = 0x007f00f8ff7fff80;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000fff6a9d8;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsle_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000fe0100000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000fe0100000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000007f0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000007f0000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvsle_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00197d3200197d56;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00197d3200197d56;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000fff000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000fff000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvsle_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7ffe0001fffe0001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7ffe0001fffeffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000fdfdfe;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvsle_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((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_xvsle_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op1[2]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op1[1]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff01ff01ff01ff01;
+  *((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_xvsle_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00f7000000f70007;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00f7000000f70007;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvsle_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvsle_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff01fffe00000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff01fffe00000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x800080ff800080ff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x800080ff800080ff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x800080ff800080ff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x800080ff800080ff;
+  *((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_xvsle_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000002d;
+  *((unsigned long *)&__m256i_op0[2]) = 0xc02dc02dc02dc02d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000002d;
+  *((unsigned long *)&__m256i_op0[0]) = 0xc02dc02dc02dc02d;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvsle_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsle-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsle-2.c
new file mode 100644
index 00000000000..bc98b41aff9
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsle-2.c
@@ -0,0 +1,590 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffee;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffee;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffee;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffee;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0010000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0008000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0010000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0008000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0020000f0000000f;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0010000f0000000f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0020000f0000000f;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0010000f0000000f;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7575757575757575;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7575757575757575;
+  *((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;
+  *((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_xvsle_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000001ffe2000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x001fe020001fe020;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000001ffe2000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x001fe020001fe020;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfff10000fff10000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfff10000fff10000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff000000ff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff000000ff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff0000ffff0000;
+  __m256i_out = __lasx_xvsle_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000017e;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000017e;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000017e;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000017e;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000000000017e;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000000017e;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000000000017e;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000017e;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xdf00000052a00000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x5b7f00ff5b7f00ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xdf00000052a00000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x5b7f00ff5b7f00ff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsle_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8011ffae800c000c;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00baff050083ff3c;
+  *((unsigned long *)&__m256i_op0[1]) = 0x80b900b980380038;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0017ffa8008eff31;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffc040ffffc09d;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00003fc00000428a;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffc040ffffc09d;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00003fc00000428a;
+  *((unsigned long *)&__m256i_result[3]) = 0xffff0000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsle_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff0008;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffff0008;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff0000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff0000ffff;
+  __m256i_out = __lasx_xvsle_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000000003ff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000000003ff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfa15fa15fa15fa14;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfa15fa15fa15fa14;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x05ea05ea05ea05ec;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x05ea05ea05ea05ec;
+  *((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_xvsle_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffefefffffefe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffefe00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvsle_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000017e;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000017e;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000017e;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000017e;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000002a54290;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000002a54290;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000feb60000b7d0;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000feb60000c7eb;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000feb60000b7d0;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000feb60000c7eb;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvsle_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvsle_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff010ff0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff010ff0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvsle_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffeb683007ffd80;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffe97c0df5b41cf;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffeb683007ffd80;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffe97c0df5b41cf;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0001497c98ea4fca;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0001497c98ea4fca;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvsle_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffff10;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffff10;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0002fffd;
+  *((unsigned long *)&__m256i_op1[2]) = 0x04f104f104f504ed;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0002fffd;
+  *((unsigned long *)&__m256i_op1[0]) = 0x04f104f104f504ed;
+  *((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_xvsle_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffff000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffff000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000401000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000401000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000401000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000401000000;
+  *((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_xvsle_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010102;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0101010201010204;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010102;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010102;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00020421d7d41124;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00020421d7d41124;
+  *((unsigned long *)&__m256i_op1[3]) = 0x8000000180007f7f;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffafaf80000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x8000000180007f7f;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffafaf80000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xff21c241ff21c241;
+  *((unsigned long *)&__m256i_op1[2]) = 0xff21c241ff21c241;
+  *((unsigned long *)&__m256i_op1[1]) = 0xff21c241ff21c241;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff21c241ff21c241;
+  *((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_xvsle_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((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;
+  *((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_xvsle_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffff6361;
+  *((unsigned long *)&__m256i_op0[2]) = 0x4d0a902890b800dc;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffff6361;
+  *((unsigned long *)&__m256i_op0[0]) = 0x4d0a902890b800dc;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvsle_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x94d7fb5200000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00003fef00003fea;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00003ff000003ff0;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00003fef00003fea;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00003ff000003ff0;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsle_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslei-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslei-1.c
new file mode 100644
index 00000000000..06717802c11
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslei-1.c
@@ -0,0 +1,515 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_b (__m256i_op0, 7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_b (__m256i_op0, 2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_b (__m256i_op0, 4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslei_b (__m256i_op0, -3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000101ff01;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_b (__m256i_op0, 9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0001000000010000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00010013000100fe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001000000010000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00010013000100fb;
+  *((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_xvslei_b (__m256i_op0, -11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_b (__m256i_op0, 7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_b (__m256i_op0, 6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_b (__m256i_op0, 0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_b (__m256i_op0, 3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000600000006;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000600000006;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000600000006;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000600000006;
+  *((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_xvslei_b (__m256i_op0, -2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslei_b (__m256i_op0, -7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_b (__m256i_op0, 2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslei_h (__m256i_op0, -13);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000101;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_h (__m256i_op0, 4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x014200c200c200ae;
+  *((unsigned long *)&__m256i_op0[2]) = 0x014200c200c200ae;
+  *((unsigned long *)&__m256i_op0[1]) = 0x014200c200c200ae;
+  *((unsigned long *)&__m256i_op0[0]) = 0x014200c200c200ae;
+  *((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_xvslei_h (__m256i_op0, -4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+  *((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_xvslei_h (__m256i_op0, -12);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000c9;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000c9;
+  *((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_xvslei_h (__m256i_op0, -14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff0000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff0000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_h (__m256i_op0, 0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_h (__m256i_op0, 2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_h (__m256i_op0, -1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffff8900000040;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffff8900000040;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00000000;
+  __m256i_out = __lasx_xvslei_h (__m256i_op0, -16);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff000000000000;
+  __m256i_out = __lasx_xvslei_h (__m256i_op0, -8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000460086;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000007f0079;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000f30028;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000df00ff;
+  *((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_xvslei_w (__m256i_op0, -8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfc2f3183ef7ffff7;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_w (__m256i_op0, 0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslei_w (__m256i_op0, -2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_w (__m256i_op0, 15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslei_w (__m256i_op0, -2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslei_w (__m256i_op0, -2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000f0f0f0f0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000f0f0f0f0;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_w (__m256i_op0, 4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslei_w (__m256i_op0, -12);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslei_w (__m256i_op0, -5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_w (__m256i_op0, 8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_w (__m256i_op0, 15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0001000100800000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_w (__m256i_op0, 4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x1828f0e09bad7249;
+  *((unsigned long *)&__m256i_op0[2]) = 0x07ffc1b723953cec;
+  *((unsigned long *)&__m256i_op0[1]) = 0x61f2e9b333aab104;
+  *((unsigned long *)&__m256i_op0[0]) = 0x6bf742aa0d7856a0;
+  *((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_xvslei_d (__m256i_op0, 12);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslei_d (__m256i_op0, -11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslei_d (__m256i_op0, -15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000003f3f3f3c;
+  *((unsigned long *)&__m256i_op0[2]) = 0xc6c6c6c68787878a;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000003f3f3f3c;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8787878a00000000;
+  *((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_xvslei_d (__m256i_op0, -14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_d (__m256i_op0, 1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_d (__m256i_op0, 11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__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_xvslei_d (__m256i_op0, 1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslei_d (__m256i_op0, -13);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_d (__m256i_op0, 9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvslei_d (__m256i_op0, -3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslei-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslei-2.c
new file mode 100644
index 00000000000..093d5640ea2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslei-2.c
@@ -0,0 +1,438 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0xc5c5c5c4c5c5c5c4;
+  *((unsigned long *)&__m256i_op0[2]) = 0x45c5c5c545c5c5c5;
+  *((unsigned long *)&__m256i_op0[1]) = 0xc5c5c5c4c5c5c5c4;
+  *((unsigned long *)&__m256i_op0[0]) = 0x45c5c5c545c5c5c5;
+  *((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_xvslei_bu (__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_bu (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_bu (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffff00;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffff00;
+  __m256i_out = __lasx_xvslei_bu (__m256i_op0, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000007f7f7f80;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000007f7f7f80;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvslei_bu (__m256i_op0, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x04e8296f3c611818;
+  *((unsigned long *)&__m256i_op0[2]) = 0x032eafee29010000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x04e8296f3c611818;
+  *((unsigned long *)&__m256i_op0[0]) = 0x032eafee29010000;
+  *((unsigned long *)&__m256i_result[3]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xff00000000ffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xff00000000ffffff;
+  __m256i_out = __lasx_xvslei_bu (__m256i_op0, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_bu (__m256i_op0, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000f788f788;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000f788f788;
+  *((unsigned long *)&__m256i_result[3]) = 0x00ffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00ffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvslei_bu (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00217f19ffde80e6;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00037f94fffc806b;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00217f19ffde80e6;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00037f94fffc806b;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff000000000000;
+  __m256i_out = __lasx_xvslei_hu (__m256i_op0, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_hu (__m256i_op0, 0x1a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+  *((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_xvslei_hu (__m256i_op0, 0x17);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffffe;
+  *((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_xvslei_hu (__m256i_op0, 0x14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffc040ffffc09d;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00003fc00000428a;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffc040ffffc09d;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00003fc00000428a;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff0000ffff0000;
+  __m256i_out = __lasx_xvslei_hu (__m256i_op0, 0x1b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_hu (__m256i_op0, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_hu (__m256i_op0, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__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_xvslei_hu (__m256i_op0, 0x1e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_hu (__m256i_op0, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000007f807f80;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000007f807f80;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvslei_hu (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_hu (__m256i_op0, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_wu (__m256i_op0, 0x19);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_wu (__m256i_op0, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000003f7e3f;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffc6cc05c64d960e;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000003f7e3f;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff874dc687870000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslei_wu (__m256i_op0, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_wu (__m256i_op0, 0x15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__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_xvslei_wu (__m256i_op0, 0x13);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_wu (__m256i_op0, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xdbcbdbcbecececec;
+  *((unsigned long *)&__m256i_op0[2]) = 0xdbcbdbcb0000dbcb;
+  *((unsigned long *)&__m256i_op0[1]) = 0xdbcbdbcbecececec;
+  *((unsigned long *)&__m256i_op0[0]) = 0xdbcbdbcb0000dbcb;
+  *((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_xvslei_wu (__m256i_op0, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_wu (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslei_wu (__m256i_op0, 0x19);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000007ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000007ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvslei_wu (__m256i_op0, 0xa);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvslei_wu (__m256i_op0, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_wu (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_wu (__m256i_op0, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslei_wu (__m256i_op0, 0x18);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_du (__m256i_op0, 0x1f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0001ffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000e7;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001ffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000007;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_du (__m256i_op0, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_du (__m256i_op0, 0x1f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+  *((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_xvslei_du (__m256i_op0, 0x10);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslei_du (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslt-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslt-1.c
new file mode 100644
index 00000000000..ca1f5e94f72
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslt-1.c
@@ -0,0 +1,455 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 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;
+  *((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_xvslt_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffff;
+  __m256i_out = __lasx_xvslt_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvslt_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvslt_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffc040ffffc09d;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00003fc00000428a;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffc040ffffc09d;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00003fc00000428a;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ff000000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ff000000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000ff000000ff;
+  __m256i_out = __lasx_xvslt_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000002000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000002000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xe07de0801f20607a;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xe07de0801f20607a;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00ff0000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00ff0000ffffffff;
+  __m256i_out = __lasx_xvslt_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000860601934;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000800200028;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000860601934;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000800200028;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslt_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvslt_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvslt_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvslt_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvslt_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffff;
+  __m256i_out = __lasx_xvslt_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvslt_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000003fffc0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000003fffc0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fff80007fff0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fff80007fff0000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff0000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff0000ffffffff;
+  __m256i_out = __lasx_xvslt_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvslt_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+  *((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_xvslt_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000022222221;
+  *((unsigned long *)&__m256i_op0[2]) = 0x3dddddddfbbb3bbc;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000022222221;
+  *((unsigned long *)&__m256i_op0[0]) = 0x3dddddddfbbb3bbc;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvslt_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000002000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000800000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000002000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000800000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvslt_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffe05f8102;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffe05f8102;
+  *((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;
+  *((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_xvslt_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000f000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000f000000000000;
+  *((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_xvslt_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvslt_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslt_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffff0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000101;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslt_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff3eff3eff3eff3e;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff3eff3eff3eff3e;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000500000005;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000500000005;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000500000005;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000500000005;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslt_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000080000009;
+  *((unsigned long *)&__m256i_op0[2]) = 0x43ef878780000009;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000080000009;
+  *((unsigned long *)&__m256i_op0[0]) = 0x43ef878780000009;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000009;
+  *((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_xvslt_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7f7f7f7f7f7f7f7f;
+  *((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_xvslt_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xf7f8f7f8f7f8f7f8;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xf7f8f7f8f7f8f7f8;
+  *((unsigned long *)&__m256i_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_xvslt_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffe0df9f8e;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffe0df9f8e;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffe0df9f8e;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffe0df9f8e;
+  *((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_xvslt_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvslt_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslt-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslt-2.c
new file mode 100644
index 00000000000..6864f5eb879
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslt-2.c
@@ -0,0 +1,620 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x1828f0e09bad7249;
+  *((unsigned long *)&__m256i_op0[2]) = 0x07ffc1b723953cec;
+  *((unsigned long *)&__m256i_op0[1]) = 0x61f2e9b333aab104;
+  *((unsigned long *)&__m256i_op0[0]) = 0x6bf742aa0d7856a0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0d41c9a7bdd239a7;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0b025d0ef8fdf987;
+  *((unsigned long *)&__m256i_op1[1]) = 0x002944f92da5a708;
+  *((unsigned long *)&__m256i_op1[0]) = 0x038cf4ea999922ef;
+  *((unsigned long *)&__m256i_result[3]) = 0x00ff0000ffff00ff;
+  *((unsigned long *)&__m256i_result[2]) = 0xff000000ffffff00;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffffffff00ff;
+  __m256i_out = __lasx_xvslt_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000017000000080;
+  *((unsigned long *)&__m256i_op0[2]) = 0xc06500550055ffab;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000017000000080;
+  *((unsigned long *)&__m256i_op0[0]) = 0xc06500550055ffab;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvslt_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffefd;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x001175f10e4330e8;
+  *((unsigned long *)&__m256i_op1[2]) = 0xff8f0842ff29211e;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffff8d9ffa7103d;
+  *((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_xvslt_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xdb801b6d0962003f;
+  *((unsigned long *)&__m256i_op0[2]) = 0xdb8a3109fe0f0024;
+  *((unsigned long *)&__m256i_op0[1]) = 0x9a7f997fff01ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xbe632a4f1c3c5653;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff00ff0000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslt_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvslt_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000500000005;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000500000005;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000500000005;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000500000005;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000600000006;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000600000006;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000600000006;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000600000006;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000ff000000ff;
+  __m256i_out = __lasx_xvslt_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000010000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvslt_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x2020202020202031;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x2020202020202031;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvslt_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvslt_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op0[2]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op0[1]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op0[0]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op1[3]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op1[2]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op1[1]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op1[0]) = 0x4040404040404040;
+  *((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_xvslt_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op0[2]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op0[1]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op0[0]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op1[3]) = 0x5252525252525252;
+  *((unsigned long *)&__m256i_op1[2]) = 0x5252525252525252;
+  *((unsigned long *)&__m256i_op1[1]) = 0x5252525252525252;
+  *((unsigned long *)&__m256i_op1[0]) = 0x5252525252525252;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslt_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000040b200002fd4;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00007fff0000739c;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000040b200002fd4;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00007fff0000739c;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvslt_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x386000003df80000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x386000003df80000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslt_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvslt_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvslt_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff8c80;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000fffffe40;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffbfffc;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff0000ffff;
+  __m256i_out = __lasx_xvslt_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvslt_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000001ffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfe00000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000001ffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfe00000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvslt_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000200000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000004000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000200000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000004000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_xvslt_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000600000006;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000600000006;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000600000006;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000600000006;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvslt_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvslt_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xbc74c3d108e05422;
+  *((unsigned long *)&__m256i_op0[2]) = 0xbc1e3e6a5cace67c;
+  *((unsigned long *)&__m256i_op0[1]) = 0xbc74c3d108e0544a;
+  *((unsigned long *)&__m256i_op0[0]) = 0xbc18e696a86565f4;
+  *((unsigned long *)&__m256i_op1[3]) = 0xbc74c3d108e05422;
+  *((unsigned long *)&__m256i_op1[2]) = 0xbc1e3e6a5cace67c;
+  *((unsigned long *)&__m256i_op1[1]) = 0xbc74c3d108e0544a;
+  *((unsigned long *)&__m256i_op1[0]) = 0xbc18e696a86565f4;
+  *((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_xvslt_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x43ef87878000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x43ef87878000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000fc38fc38;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfc00000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000fc38fc38;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfc00000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvslt_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00003fe000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00003fe000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000001400000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000001400000000;
+  *((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_xvslt_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvslt_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000017f00000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00007f7f03030000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvslt_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvslt_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvslt_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000401000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000401000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000401000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000401000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslt_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffc040ffffc09d;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00003fc00000428a;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffc040ffffc09d;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00003fc00000428a;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslt_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0002000000020000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00220021004a007e;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0002000000020000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00220021004a007e;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0002000000020000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00220021004a007e;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0002000000020000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00220021004a007e;
+  *((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_xvslt_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000100008000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000100007fff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000100008000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000100007fff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslt_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslt_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000003fbfc04;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000001fdfe02;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000003fbfc04;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000001fdfe02;
+  *((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_xvslt_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvslt_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000000b;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000000b;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000000b;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000000b;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000000000000b;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000000000b;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000000000000b;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000000b;
+  *((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_xvslt_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0010511c54440437;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0010511c54440437;
+  *((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_xvslt_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000001;
+  *((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_xvslt_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffff00ffff8000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffff00ffff8000;
+  *((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_xvslt_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvslt_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslti-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslti-1.c
new file mode 100644
index 00000000000..7dd2778a560
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslti-1.c
@@ -0,0 +1,548 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_b (__m256i_op0, 4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_b (__m256i_op0, -13);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_b (__m256i_op0, 0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_b (__m256i_op0, 15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_b (__m256i_op0, -13);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_b (__m256i_op0, -3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_b (__m256i_op0, 15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_b (__m256i_op0, 11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_h (__m256i_op0, 10);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_h (__m256i_op0, -14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_h (__m256i_op0, 11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_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_xvslti_h (__m256i_op0, -14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_h (__m256i_op0, 15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_h (__m256i_op0, -10);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_h (__m256i_op0, 7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_h (__m256i_op0, 3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffe05fc47b400;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffe06003fc000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffe05fc47b400;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffe06003fc000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffff;
+  __m256i_out = __lasx_xvslti_h (__m256i_op0, -3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff02000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff02000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff0000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff0000ffff;
+  __m256i_out = __lasx_xvslti_h (__m256i_op0, 2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_h (__m256i_op0, -15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_h (__m256i_op0, -4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ff80;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_h (__m256i_op0, 12);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_h (__m256i_op0, -11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xc58a0a0a07070706;
+  *((unsigned long *)&__m256i_op0[2]) = 0x006b60e4180b0023;
+  *((unsigned long *)&__m256i_op0[1]) = 0x1b39153f334b966a;
+  *((unsigned long *)&__m256i_op0[0]) = 0xf1d75d79efcac002;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_w (__m256i_op0, -1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ff90ff81;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000007f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ff90ff81;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000007f;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_w (__m256i_op0, -3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_w (__m256i_op0, -3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_w (__m256i_op0, -11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_w (__m256i_op0, -16);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000045000d0005;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000045000d0005;
+  *((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_xvslti_w (__m256i_op0, -8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_w (__m256i_op0, 5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff00ff00ff00ef32;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff00ff00ff00ef32;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff00ff00ff00ef32;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff00ff00ff00ef32;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_w (__m256i_op0, 12);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0020000f0000000f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0010000f0000000f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0020000f0000000f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0010000f0000000f;
+  *((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_xvslti_w (__m256i_op0, -4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000001;
+  *((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_xvslti_w (__m256i_op0, -12);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_w (__m256i_op0, -6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_w (__m256i_op0, -5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_w (__m256i_op0, 14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000004efffe00;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000047000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000004efffe00;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000047000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvslti_w (__m256i_op0, 2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_w (__m256i_op0, 9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000b7;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffefff80;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000b7;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffefff80;
+  *((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_xvslti_w (__m256i_op0, -8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_w (__m256i_op0, 11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_d (__m256i_op0, 5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvslti_d (__m256i_op0, -5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_d (__m256i_op0, 4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x80000000001529c1;
+  *((unsigned long *)&__m256i_op0[2]) = 0x80007073cadc3779;
+  *((unsigned long *)&__m256i_op0[1]) = 0x80000000001529c1;
+  *((unsigned long *)&__m256i_op0[0]) = 0x80007073cadc3779;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_d (__m256i_op0, -13);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_d (__m256i_op0, -2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000020202020;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000020202020;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000020202020;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000020202020;
+  *((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_xvslti_d (__m256i_op0, -15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_d (__m256i_op0, 4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_d (__m256i_op0, 10);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0004000f00100003;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000400030010000f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0004000f00100003;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000400030010000f;
+  *((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_xvslti_d (__m256i_op0, -14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslti-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslti-2.c
new file mode 100644
index 00000000000..d93e4314e86
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslti-2.c
@@ -0,0 +1,416 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_bu (__m256i_op0, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_bu (__m256i_op0, 0x19);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_bu (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0002000000020000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00220021004a007e;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0002000000020000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00220021004a007e;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xff00ff00ff00ff00;
+  __m256i_out = __lasx_xvslti_bu (__m256i_op0, 0x15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00007ff000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00007ff000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff0000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff0000ffffffff;
+  __m256i_out = __lasx_xvslti_bu (__m256i_op0, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_bu (__m256i_op0, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_bu (__m256i_op0, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_bu (__m256i_op0, 0x18);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_bu (__m256i_op0, 0x12);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_bu (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_hu (__m256i_op0, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffffffffffff;
+  __m256i_out = __lasx_xvslti_hu (__m256i_op0, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_hu (__m256i_op0, 0x19);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_hu (__m256i_op0, 0x19);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffb3b4;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffff5ffff4738;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffb3b4;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffff5ffff4738;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_hu (__m256i_op0, 0x14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000001010000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000001010000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff0000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff0000ffff;
+  __m256i_out = __lasx_xvslti_hu (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_wu (__m256i_op0, 0x19);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_wu (__m256i_op0, 0x1f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x009f00f8007e00f0;
+  *((unsigned long *)&__m256i_op0[2]) = 0x007f007f0081007f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x009f00f8007e00f0;
+  *((unsigned long *)&__m256i_op0[0]) = 0x007f007f0081007f;
+  *((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_xvslti_wu (__m256i_op0, 0x1d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_wu (__m256i_op0, 0x16);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_wu (__m256i_op0, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xe0e0e0e0e0e0e0e0;
+  *((unsigned long *)&__m256i_op0[2]) = 0xe0e0e0e0e0e0e0e0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000e0e0e0e0;
+  *((unsigned long *)&__m256i_op0[0]) = 0xe0e0e0e0e0e0e0e0;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_wu (__m256i_op0, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_wu (__m256i_op0, 0x13);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_wu (__m256i_op0, 0x1c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_wu (__m256i_op0, 0x17);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvslti_wu (__m256i_op0, 0x16);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_du (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_du (__m256i_op0, 0x19);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
+  *((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_xvslti_du (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvslti_du (__m256i_op0, 0xa);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_du (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000007773;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000003373;
+  *((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_xvslti_du (__m256i_op0, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_du (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+  *((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_xvslti_du (__m256i_op0, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_du (__m256i_op0, 0x17);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvslti_du (__m256i_op0, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
-- 
2.20.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v4 17/22] LoongArch: Add tests for ASX vector xvfnmadd/xvfrstp/xvfstpi/xvhsubw/ xvmsub/xvrotr/xvrotri/xvld/xvst instructions.
  2023-09-13  3:40 [PATCH v4 10/22] LoongArch: Add tests for ASX vector xvssran/xvssrani/xvssrarn/xvssrarni/xvssrln/ xvssrlni/xvssrlrn/xvssrlrni instructions Xiaolong Chen
                   ` (5 preceding siblings ...)
  2023-09-13  3:40 ` [PATCH v4 16/22] LoongArch: Add tests for ASX vector comparison and selection instruction Xiaolong Chen
@ 2023-09-13  3:40 ` Xiaolong Chen
  2023-09-13  3:40 ` [PATCH v4 18/22] LoongArch: Add tests for ASX vector xvabsd/xvavg/xvavgr/xvbsll/xvbsrl/xvneg/ xvsat instructions Xiaolong Chen
  7 siblings, 0 replies; 9+ messages in thread
From: Xiaolong Chen @ 2023-09-13  3:40 UTC (permalink / raw)
  To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen

gcc/testsuite/ChangeLog:

	* gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_d.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_s.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfrstp.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfrstpi.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvhsubw-1.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvhsubw-2.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvld.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvmsub.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvrotr.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvrotri.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvst.c: New test.
---
 .../loongarch/vector/lasx/lasx-xvfnmadd_d.c   | 324 +++++++
 .../loongarch/vector/lasx/lasx-xvfnmadd_s.c   | 895 ++++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvfrstp.c      | 381 ++++++++
 .../loongarch/vector/lasx/lasx-xvfrstpi.c     | 350 +++++++
 .../loongarch/vector/lasx/lasx-xvhsubw-1.c    | 620 ++++++++++++
 .../loongarch/vector/lasx/lasx-xvhsubw-2.c    | 545 +++++++++++
 .../loongarch/vector/lasx/lasx-xvld.c         |  86 ++
 .../loongarch/vector/lasx/lasx-xvmsub.c       | 647 +++++++++++++
 .../loongarch/vector/lasx/lasx-xvrotr.c       | 530 +++++++++++
 .../loongarch/vector/lasx/lasx-xvrotri.c      | 394 ++++++++
 .../loongarch/vector/lasx/lasx-xvst.c         | 102 ++
 11 files changed, 4874 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_d.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_s.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrstp.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrstpi.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhsubw-1.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhsubw-2.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvld.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmsub.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvrotr.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvrotri.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvst.c

diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_d.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_d.c
new file mode 100644
index 00000000000..d161c850c2c
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_d.c
@@ -0,0 +1,324 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0001010101010101;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000010100;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0001000001000100;
+  *((unsigned long *)&__m256d_op2[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op2[2]) = 0xffffffffbf7f7fff;
+  *((unsigned long *)&__m256d_op2[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op2[0]) = 0xffffffffe651bfff;
+  *((unsigned long *)&__m256d_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffbf7f7fff;
+  *((unsigned long *)&__m256d_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffe651bfff;
+  __m256d_out = __lasx_xvfnmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  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_op1[3]) = 0x3ff73ff83ff73ff8;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x3ff73ff83ff73ff8;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[3]) = 0x2020202020202020;
+  *((unsigned long *)&__m256d_op2[2]) = 0x2020202020206431;
+  *((unsigned long *)&__m256d_op2[1]) = 0x2020202020202020;
+  *((unsigned long *)&__m256d_op2[0]) = 0x2020202020206431;
+  *((unsigned long *)&__m256d_result[3]) = 0xa020202020202020;
+  *((unsigned long *)&__m256d_result[2]) = 0xa020202020206431;
+  *((unsigned long *)&__m256d_result[1]) = 0xa020202020202020;
+  *((unsigned long *)&__m256d_result[0]) = 0xa020202020206431;
+  __m256d_out = __lasx_xvfnmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00000000f0f0f0f0;
+  *((unsigned long *)&__m256d_op0[2]) = 0xf0f0f0f0f0f0f0f0;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00000000f0f0f0f0;
+  *((unsigned long *)&__m256d_op0[0]) = 0xf0f0f0f0f0f0f0f0;
+  *((unsigned long *)&__m256d_op1[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0001b0b1b4b5dd9f;
+  *((unsigned long *)&__m256d_op2[2]) = 0x7f7f7f5c8f374980;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0001b0b1b4b5dd9f;
+  *((unsigned long *)&__m256d_op2[0]) = 0x7f7f7f5c8f374980;
+  *((unsigned long *)&__m256d_result[3]) = 0x8001b0b1b4b5dd9f;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[1]) = 0x8001b0b1b4b5dd9f;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffffffffff;
+  __m256d_out = __lasx_xvfnmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xff21ff21ff21ff21;
+  *((unsigned long *)&__m256d_op0[2]) = 0xff21ff21ff21ff21;
+  *((unsigned long *)&__m256d_op0[1]) = 0xff21ff21ff21ff21;
+  *((unsigned long *)&__m256d_op0[0]) = 0xff21ff21ff21ff21;
+  *((unsigned long *)&__m256d_op1[3]) = 0xff21c241ff21c241;
+  *((unsigned long *)&__m256d_op1[2]) = 0xff21c241ff21c241;
+  *((unsigned long *)&__m256d_op1[1]) = 0xff21c241ff21c241;
+  *((unsigned long *)&__m256d_op1[0]) = 0xff21c241ff21c241;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xfff0000000000000;
+  __m256d_out = __lasx_xvfnmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000007;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000007;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x8000000000000000;
+  __m256d_out = __lasx_xvfnmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x1080108010060002;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x1080108010060002;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffe4ffffffe4;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffe4ffffffe4;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffe4ffffffe4;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffe4ffffffe4;
+  *((unsigned long *)&__m256d_op2[3]) = 0x7fff00017fff0000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x7fff00017fff0000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x7fff00017fff0000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x7fff00017fff0000;
+  *((unsigned long *)&__m256d_result[3]) = 0x7fff00017fff0000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7fff00017fff0000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7fff00017fff0000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7fff00017fff0000;
+  __m256d_out = __lasx_xvfnmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x1716151417161514;
+  *((unsigned long *)&__m256d_op0[2]) = 0x1716151417161514;
+  *((unsigned long *)&__m256d_op0[1]) = 0x1716151417161514;
+  *((unsigned long *)&__m256d_op0[0]) = 0x1716151417161514;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000002780;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000002780;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000000000002780;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x0000000000002780;
+  *((unsigned long *)&__m256d_result[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x8000000000002780;
+  *((unsigned long *)&__m256d_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x8000000000002780;
+  __m256d_out = __lasx_xvfnmadd_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0080200000802000;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0080200000802000;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0080200000802000;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0080200000802000;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffffffffff;
+  __m256d_out = __lasx_xvfnmsub_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x8000000000000000;
+  __m256d_out = __lasx_xvfnmsub_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256d_op0[2]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256d_op0[1]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256d_op0[0]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffba0c05;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffffffba0c05;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000000483800;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000483800;
+  *((unsigned long *)&__m256d_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000483800;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffffba0c05;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000483800;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffffba0c05;
+  __m256d_out = __lasx_xvfnmsub_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x000000007fffffff;
+  *((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 *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x8000000000000000;
+  __m256d_out = __lasx_xvfnmsub_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000005000000020;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000005000000020;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000005000000020;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000005000000020;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000005000000020;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x0000005000000020;
+  *((unsigned long *)&__m256d_result[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000005000000020;
+  *((unsigned long *)&__m256d_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000005000000020;
+  __m256d_out = __lasx_xvfnmsub_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0010000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0008000000000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0010000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x0008000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0010000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0008000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0010000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0008000000000000;
+  __m256d_out = __lasx_xvfnmsub_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xff0d0d0d0d0d0d0d;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0d0d0d0d0d0d0d0d;
+  *((unsigned long *)&__m256d_op0[1]) = 0xff0d0d0d0d0d0d0d;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0d0d0d0d0d0d0d0d;
+  *((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 *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x0000000000000000;
+  *((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_xvfnmsub_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffff801000000010;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffff800300000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffff801000000010;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffff800300000000;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x0000000000000000;
+  *((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_xvfnmsub_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00000000ffffffce;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000000ffffffce;
+  *((unsigned long *)&__m256d_op1[3]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000700000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000700000000;
+  *((unsigned long *)&__m256d_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x8000000000000000;
+  __m256d_out = __lasx_xvfnmsub_d (__m256d_op0, __m256d_op1, __m256d_op2);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_s.c
new file mode 100644
index 00000000000..c5e9576ead4
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_s.c
@@ -0,0 +1,895 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0xffffffff;
+  *((int *)&__m256_op1[6]) = 0xffff5f5c;
+  *((int *)&__m256_op1[5]) = 0xffffffff;
+  *((int *)&__m256_op1[4]) = 0xffff5f5c;
+  *((int *)&__m256_op1[3]) = 0xffffffff;
+  *((int *)&__m256_op1[2]) = 0xffff5f5c;
+  *((int *)&__m256_op1[1]) = 0xffffffff;
+  *((int *)&__m256_op1[0]) = 0xffff5f5c;
+  *((int *)&__m256_op2[7]) = 0x0000000f;
+  *((int *)&__m256_op2[6]) = 0x0000000f;
+  *((int *)&__m256_op2[5]) = 0xff00ff0f;
+  *((int *)&__m256_op2[4]) = 0xff005f0f;
+  *((int *)&__m256_op2[3]) = 0x0000000f;
+  *((int *)&__m256_op2[2]) = 0x0000000f;
+  *((int *)&__m256_op2[1]) = 0xff00ff0f;
+  *((int *)&__m256_op2[0]) = 0xff005f0f;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0xffff5f5c;
+  *((int *)&__m256_result[5]) = 0xffffffff;
+  *((int *)&__m256_result[4]) = 0xffff5f5c;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0xffff5f5c;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0xffff5f5c;
+  __m256_out = __lasx_xvfnmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00010001;
+  *((int *)&__m256_op0[6]) = 0x00010000;
+  *((int *)&__m256_op0[5]) = 0x020afefb;
+  *((int *)&__m256_op0[4]) = 0x08140000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000001;
+  *((int *)&__m256_op0[1]) = 0x0003fffc;
+  *((int *)&__m256_op0[0]) = 0x00060000;
+  *((int *)&__m256_op1[7]) = 0x80000000;
+  *((int *)&__m256_op1[6]) = 0x40000000;
+  *((int *)&__m256_op1[5]) = 0x40000000;
+  *((int *)&__m256_op1[4]) = 0x10000010;
+  *((int *)&__m256_op1[3]) = 0x80000000;
+  *((int *)&__m256_op1[2]) = 0x40000000;
+  *((int *)&__m256_op1[1]) = 0x80000000;
+  *((int *)&__m256_op1[0]) = 0x40000010;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x000000ff;
+  *((int *)&__m256_op2[4]) = 0x0001ffff;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x0000ffff;
+  *((int *)&__m256_op2[0]) = 0x00010000;
+  *((int *)&__m256_result[7]) = 0x80000000;
+  *((int *)&__m256_result[6]) = 0x80020000;
+  *((int *)&__m256_result[5]) = 0x828aff0b;
+  *((int *)&__m256_result[4]) = 0x8001ffff;
+  *((int *)&__m256_result[3]) = 0x80000000;
+  *((int *)&__m256_result[2]) = 0x80000002;
+  *((int *)&__m256_result[1]) = 0x8000ffff;
+  *((int *)&__m256_result[0]) = 0x800d0002;
+  __m256_out = __lasx_xvfnmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x1f3d2101;
+  *((int *)&__m256_op0[6]) = 0x1f3d2101;
+  *((int *)&__m256_op0[5]) = 0x1f3d2101;
+  *((int *)&__m256_op0[4]) = 0xd07dbf01;
+  *((int *)&__m256_op0[3]) = 0x9f1fd080;
+  *((int *)&__m256_op0[2]) = 0x1f3d2101;
+  *((int *)&__m256_op0[1]) = 0x1f3d2101;
+  *((int *)&__m256_op0[0]) = 0xd07dbf01;
+  *((int *)&__m256_op1[7]) = 0x1d949d94;
+  *((int *)&__m256_op1[6]) = 0x9d949d95;
+  *((int *)&__m256_op1[5]) = 0x1d949d94;
+  *((int *)&__m256_op1[4]) = 0x9e1423d4;
+  *((int *)&__m256_op1[3]) = 0x1de9a03f;
+  *((int *)&__m256_op1[2]) = 0x3dd41d95;
+  *((int *)&__m256_op1[1]) = 0x1d949d94;
+  *((int *)&__m256_op1[0]) = 0x9e1423d4;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x8001b72e;
+  *((int *)&__m256_result[6]) = 0x0001b72e;
+  *((int *)&__m256_result[5]) = 0x8001b72e;
+  *((int *)&__m256_result[4]) = 0xaf12d5f0;
+  *((int *)&__m256_result[3]) = 0x00024763;
+  *((int *)&__m256_result[2]) = 0x9d9cb530;
+  *((int *)&__m256_result[1]) = 0x8001b72e;
+  *((int *)&__m256_result[0]) = 0xaf12d5f0;
+  __m256_out = __lasx_xvfnmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_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;
+  *((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;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x80000000;
+  *((int *)&__m256_result[6]) = 0x80000000;
+  *((int *)&__m256_result[5]) = 0x7ff80000;
+  *((int *)&__m256_result[4]) = 0x80000000;
+  *((int *)&__m256_result[3]) = 0x80000000;
+  *((int *)&__m256_result[2]) = 0x80000000;
+  *((int *)&__m256_result[1]) = 0x7ff80000;
+  *((int *)&__m256_result[0]) = 0x80000000;
+  __m256_out = __lasx_xvfnmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_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;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x0000ffff;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x0000ffff;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000001;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000001;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000001;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000001;
+  *((int *)&__m256_result[7]) = 0x80000000;
+  *((int *)&__m256_result[6]) = 0x80000001;
+  *((int *)&__m256_result[5]) = 0x80000000;
+  *((int *)&__m256_result[4]) = 0x80000001;
+  *((int *)&__m256_result[3]) = 0x80000000;
+  *((int *)&__m256_result[2]) = 0x80000001;
+  *((int *)&__m256_result[1]) = 0x80000000;
+  *((int *)&__m256_result[0]) = 0x80000001;
+  __m256_out = __lasx_xvfnmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  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_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000200;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000200;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000200;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000200;
+  *((int *)&__m256_op2[7]) = 0xffffffa0;
+  *((int *)&__m256_op2[6]) = 0x00000001;
+  *((int *)&__m256_op2[5]) = 0xffffffe0;
+  *((int *)&__m256_op2[4]) = 0x00000001;
+  *((int *)&__m256_op2[3]) = 0xffffffa0;
+  *((int *)&__m256_op2[2]) = 0x00000001;
+  *((int *)&__m256_op2[1]) = 0xffffffe0;
+  *((int *)&__m256_op2[0]) = 0x00000001;
+  *((int *)&__m256_result[7]) = 0xffffffa0;
+  *((int *)&__m256_result[6]) = 0x80000001;
+  *((int *)&__m256_result[5]) = 0xffffffe0;
+  *((int *)&__m256_result[4]) = 0x80000001;
+  *((int *)&__m256_result[3]) = 0xffffffa0;
+  *((int *)&__m256_result[2]) = 0x80000001;
+  *((int *)&__m256_result[1]) = 0xffffffe0;
+  *((int *)&__m256_result[0]) = 0x80000001;
+  __m256_out = __lasx_xvfnmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  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_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;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((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_xvfnmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  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_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;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((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_xvfnmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  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_op1[7]) = 0x49810081;
+  *((int *)&__m256_op1[6]) = 0x4843ffe1;
+  *((int *)&__m256_op1[5]) = 0x49810081;
+  *((int *)&__m256_op1[4]) = 0x68410001;
+  *((int *)&__m256_op1[3]) = 0x49810081;
+  *((int *)&__m256_op1[2]) = 0x4843ffe1;
+  *((int *)&__m256_op1[1]) = 0x49810081;
+  *((int *)&__m256_op1[0]) = 0x68410001;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((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_xvfnmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00009fff;
+  *((int *)&__m256_op0[6]) = 0x00002001;
+  *((int *)&__m256_op0[5]) = 0x0000ffff;
+  *((int *)&__m256_op0[4]) = 0x0000ffff;
+  *((int *)&__m256_op0[3]) = 0x00009fff;
+  *((int *)&__m256_op0[2]) = 0x00002001;
+  *((int *)&__m256_op0[1]) = 0x0000ffff;
+  *((int *)&__m256_op0[0]) = 0x0000ffff;
+  *((int *)&__m256_op1[7]) = 0xfffeb683;
+  *((int *)&__m256_op1[6]) = 0x9ffffd80;
+  *((int *)&__m256_op1[5]) = 0xfffe97c0;
+  *((int *)&__m256_op1[4]) = 0x20010001;
+  *((int *)&__m256_op1[3]) = 0xfffeb683;
+  *((int *)&__m256_op1[2]) = 0x9ffffd80;
+  *((int *)&__m256_op1[1]) = 0xfffe97c0;
+  *((int *)&__m256_op1[0]) = 0x20010001;
+  *((int *)&__m256_op2[7]) = 0x00009fff;
+  *((int *)&__m256_op2[6]) = 0x00002001;
+  *((int *)&__m256_op2[5]) = 0x0000ffff;
+  *((int *)&__m256_op2[4]) = 0x0000ffff;
+  *((int *)&__m256_op2[3]) = 0x00009fff;
+  *((int *)&__m256_op2[2]) = 0x00002001;
+  *((int *)&__m256_op2[1]) = 0x0000ffff;
+  *((int *)&__m256_op2[0]) = 0x0000ffff;
+  *((int *)&__m256_result[7]) = 0xfffeb683;
+  *((int *)&__m256_result[6]) = 0x80002001;
+  *((int *)&__m256_result[5]) = 0xfffe97c0;
+  *((int *)&__m256_result[4]) = 0x8000ffff;
+  *((int *)&__m256_result[3]) = 0xfffeb683;
+  *((int *)&__m256_result[2]) = 0x80002001;
+  *((int *)&__m256_result[1]) = 0xfffe97c0;
+  *((int *)&__m256_result[0]) = 0x8000ffff;
+  __m256_out = __lasx_xvfnmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x7fffffff;
+  *((int *)&__m256_op0[6]) = 0x80000000;
+  *((int *)&__m256_op0[5]) = 0x7fffffff;
+  *((int *)&__m256_op0[4]) = 0x80000000;
+  *((int *)&__m256_op0[3]) = 0x7fffffff;
+  *((int *)&__m256_op0[2]) = 0x80000000;
+  *((int *)&__m256_op0[1]) = 0x7fffffff;
+  *((int *)&__m256_op0[0]) = 0x80000000;
+  *((int *)&__m256_op1[7]) = 0xfd02fd02;
+  *((int *)&__m256_op1[6]) = 0xfd02fd02;
+  *((int *)&__m256_op1[5]) = 0xfd02fd02;
+  *((int *)&__m256_op1[4]) = 0xfd02fd02;
+  *((int *)&__m256_op1[3]) = 0xfd02fd02;
+  *((int *)&__m256_op1[2]) = 0xfd02fd02;
+  *((int *)&__m256_op1[1]) = 0xfd02fd02;
+  *((int *)&__m256_op1[0]) = 0xfd02fd02;
+  *((int *)&__m256_op2[7]) = 0xfd02fd02;
+  *((int *)&__m256_op2[6]) = 0xfd02fd02;
+  *((int *)&__m256_op2[5]) = 0xfd02fd02;
+  *((int *)&__m256_op2[4]) = 0xfd02fd02;
+  *((int *)&__m256_op2[3]) = 0xfd02fd02;
+  *((int *)&__m256_op2[2]) = 0xfd02fd02;
+  *((int *)&__m256_op2[1]) = 0xfd02fd02;
+  *((int *)&__m256_op2[0]) = 0xfd02fd02;
+  *((int *)&__m256_result[7]) = 0x7fffffff;
+  *((int *)&__m256_result[6]) = 0x7d02fd02;
+  *((int *)&__m256_result[5]) = 0x7fffffff;
+  *((int *)&__m256_result[4]) = 0x7d02fd02;
+  *((int *)&__m256_result[3]) = 0x7fffffff;
+  *((int *)&__m256_result[2]) = 0x7d02fd02;
+  *((int *)&__m256_result[1]) = 0x7fffffff;
+  *((int *)&__m256_result[0]) = 0x7d02fd02;
+  __m256_out = __lasx_xvfnmadd_s (__m256_op0, __m256_op1, __m256_op2);
+  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]) = 0xbf7f7fff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xe651bfff;
+  *((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;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0xffffffff;
+  *((int *)&__m256_op2[2]) = 0xf328dfff;
+  *((int *)&__m256_op2[1]) = 0x6651bfff;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0xffffffff;
+  *((int *)&__m256_result[5]) = 0xffffffff;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0xffffffff;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfnmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x07070707;
+  *((int *)&__m256_op0[5]) = 0x01020400;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00020100;
+  *((int *)&__m256_op0[1]) = 0x07030200;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_op1[7]) = 0xffffff80;
+  *((int *)&__m256_op1[6]) = 0xfefeff00;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x01000400;
+  *((int *)&__m256_op1[3]) = 0xffffff80;
+  *((int *)&__m256_op1[2]) = 0xfeff0000;
+  *((int *)&__m256_op1[1]) = 0x02020080;
+  *((int *)&__m256_op1[0]) = 0x5c800400;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0xffffffff;
+  *((int *)&__m256_op2[2]) = 0xf328dfff;
+  *((int *)&__m256_op2[1]) = 0x6651bfff;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0xffffff80;
+  *((int *)&__m256_result[6]) = 0x46867f79;
+  *((int *)&__m256_result[5]) = 0x80000000;
+  *((int *)&__m256_result[4]) = 0x80000000;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0xf328dfff;
+  *((int *)&__m256_result[1]) = 0x6651bfff;
+  *((int *)&__m256_result[0]) = 0x80000000;
+  __m256_out = __lasx_xvfnmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xe0000000;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xe0000000;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xe0000000;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xe0000000;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x80000000;
+  *((int *)&__m256_op1[4]) = 0x80000000;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x80000000;
+  *((int *)&__m256_op1[0]) = 0x80000000;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0xffffffff;
+  *((int *)&__m256_result[4]) = 0x80000000;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0x80000000;
+  __m256_out = __lasx_xvfnmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  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_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;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((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_xvfnmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  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_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;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((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_xvfnmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  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_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;
+  *((int *)&__m256_op2[7]) = 0x7f800000;
+  *((int *)&__m256_op2[6]) = 0x7f800000;
+  *((int *)&__m256_op2[5]) = 0x7fc00000;
+  *((int *)&__m256_op2[4]) = 0x7fc00000;
+  *((int *)&__m256_op2[3]) = 0x7f800000;
+  *((int *)&__m256_op2[2]) = 0x7f800000;
+  *((int *)&__m256_op2[1]) = 0x7fc00000;
+  *((int *)&__m256_op2[0]) = 0x7fc00000;
+  *((int *)&__m256_result[7]) = 0x7f800000;
+  *((int *)&__m256_result[6]) = 0x7f800000;
+  *((int *)&__m256_result[5]) = 0x7fc00000;
+  *((int *)&__m256_result[4]) = 0x7fc00000;
+  *((int *)&__m256_result[3]) = 0x7f800000;
+  *((int *)&__m256_result[2]) = 0x7f800000;
+  *((int *)&__m256_result[1]) = 0x7fc00000;
+  *((int *)&__m256_result[0]) = 0x7fc00000;
+  __m256_out = __lasx_xvfnmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  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_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;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((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_xvfnmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  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_op1[7]) = 0x7fefffff;
+  *((int *)&__m256_op1[6]) = 0xffffffff;
+  *((int *)&__m256_op1[5]) = 0x7fefffff;
+  *((int *)&__m256_op1[4]) = 0xffffffff;
+  *((int *)&__m256_op1[3]) = 0x7fefffff;
+  *((int *)&__m256_op1[2]) = 0xffffffff;
+  *((int *)&__m256_op1[1]) = 0x7fefffff;
+  *((int *)&__m256_op1[0]) = 0xffffffff;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x7fefffff;
+  *((int *)&__m256_result[6]) = 0xffffffff;
+  *((int *)&__m256_result[5]) = 0x7fefffff;
+  *((int *)&__m256_result[4]) = 0xffffffff;
+  *((int *)&__m256_result[3]) = 0x7fefffff;
+  *((int *)&__m256_result[2]) = 0xffffffff;
+  *((int *)&__m256_result[1]) = 0x7fefffff;
+  *((int *)&__m256_result[0]) = 0xffffffff;
+  __m256_out = __lasx_xvfnmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0xf7f8f7f8;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00003f78;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0xf7f8f7f8;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00003f78;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0xf7f8f7f8;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00003f78;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0xf7f8f7f8;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00003f78;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x80000000;
+  *((int *)&__m256_result[6]) = 0xff800000;
+  *((int *)&__m256_result[5]) = 0x80000000;
+  *((int *)&__m256_result[4]) = 0x80000000;
+  *((int *)&__m256_result[3]) = 0x80000000;
+  *((int *)&__m256_result[2]) = 0xff800000;
+  *((int *)&__m256_result[1]) = 0x80000000;
+  *((int *)&__m256_result[0]) = 0x80000000;
+  __m256_out = __lasx_xvfnmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_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]) = 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;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0xffffffff;
+  *((int *)&__m256_op2[4]) = 0xffffffff;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0xffffffff;
+  *((int *)&__m256_op2[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_xvfnmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x01010100;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000405;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x01010100;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000405;
+  *((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;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x01010100;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000405;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x01010100;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000405;
+  *((int *)&__m256_result[7]) = 0x80000000;
+  *((int *)&__m256_result[6]) = 0x01010100;
+  *((int *)&__m256_result[5]) = 0x80000000;
+  *((int *)&__m256_result[4]) = 0x00000405;
+  *((int *)&__m256_result[3]) = 0x80000000;
+  *((int *)&__m256_result[2]) = 0x01010100;
+  *((int *)&__m256_result[1]) = 0x80000000;
+  *((int *)&__m256_result[0]) = 0x00000405;
+  __m256_out = __lasx_xvfnmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00800080;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000202;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00800080;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000202;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0xff88ff88;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0xff88ff88;
+  *((int *)&__m256_op2[7]) = 0x00000000;
+  *((int *)&__m256_op2[6]) = 0x00000000;
+  *((int *)&__m256_op2[5]) = 0x00000000;
+  *((int *)&__m256_op2[4]) = 0x00000000;
+  *((int *)&__m256_op2[3]) = 0x00000000;
+  *((int *)&__m256_op2[2]) = 0x00000000;
+  *((int *)&__m256_op2[1]) = 0x00000000;
+  *((int *)&__m256_op2[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x80000000;
+  *((int *)&__m256_result[6]) = 0x80000000;
+  *((int *)&__m256_result[5]) = 0x80000000;
+  *((int *)&__m256_result[4]) = 0xffc8ff88;
+  *((int *)&__m256_result[3]) = 0x80000000;
+  *((int *)&__m256_result[2]) = 0x80000000;
+  *((int *)&__m256_result[1]) = 0x80000000;
+  *((int *)&__m256_result[0]) = 0xffc8ff88;
+  __m256_out = __lasx_xvfnmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  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_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;
+  *((int *)&__m256_op2[7]) = 0x001fffff;
+  *((int *)&__m256_op2[6]) = 0xffffffff;
+  *((int *)&__m256_op2[5]) = 0xffffffff;
+  *((int *)&__m256_op2[4]) = 0xffffffff;
+  *((int *)&__m256_op2[3]) = 0x001fffff;
+  *((int *)&__m256_op2[2]) = 0xffffffff;
+  *((int *)&__m256_op2[1]) = 0xffffffff;
+  *((int *)&__m256_op2[0]) = 0xffffffff;
+  *((int *)&__m256_result[7]) = 0x001fffff;
+  *((int *)&__m256_result[6]) = 0xffffffff;
+  *((int *)&__m256_result[5]) = 0xffffffff;
+  *((int *)&__m256_result[4]) = 0xffffffff;
+  *((int *)&__m256_result[3]) = 0x001fffff;
+  *((int *)&__m256_result[2]) = 0xffffffff;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0xffffffff;
+  __m256_out = __lasx_xvfnmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  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_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x7fff8000;
+  *((int *)&__m256_op1[4]) = 0x7fff0000;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x7fff8000;
+  *((int *)&__m256_op1[0]) = 0x7fff0000;
+  *((int *)&__m256_op2[7]) = 0xffffffff;
+  *((int *)&__m256_op2[6]) = 0xffffffff;
+  *((int *)&__m256_op2[5]) = 0xffffffff;
+  *((int *)&__m256_op2[4]) = 0xffffff10;
+  *((int *)&__m256_op2[3]) = 0xffffffff;
+  *((int *)&__m256_op2[2]) = 0xffffffff;
+  *((int *)&__m256_op2[1]) = 0xffffffff;
+  *((int *)&__m256_op2[0]) = 0xffffff10;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0xffffffff;
+  *((int *)&__m256_result[5]) = 0xffffffff;
+  *((int *)&__m256_result[4]) = 0xffffff10;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0xffffffff;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0xffffff10;
+  __m256_out = __lasx_xvfnmsub_s (__m256_op0, __m256_op1, __m256_op2);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrstp.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrstp.c
new file mode 100644
index 00000000000..557f9f8b50e
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrstp.c
@@ -0,0 +1,381 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00000007;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000000000e7;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00ff00ff00000007;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000007;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000080000;
+  __m256i_out = __lasx_xvfrstp_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_op0[2]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00007f7f00000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00007f7f00007fff;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000007f00340040;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000007f000000ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[2]) = 0x2020202020200008;
+  *((unsigned long *)&__m256i_result[1]) = 0x0008010101010101;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvfrstp_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00000008;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00000008;
+  __m256i_out = __lasx_xvfrstp_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x03f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_op1[2]) = 0x03f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_op1[1]) = 0x03f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_op1[0]) = 0x03f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_op2[3]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_op2[2]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_op2[1]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_op2[0]) = 0xf7f7f7f7f7f7f7f7;
+  *((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_xvfrstp_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000010;
+  __m256i_out = __lasx_xvfrstp_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffff10;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffff10;
+  __m256i_out = __lasx_xvfrstp_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000008;
+  __m256i_out = __lasx_xvfrstp_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xbfbfbfbfbfbfbfbf;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xbfbfbfbfbfbfbfbf;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0xbfbfbfbfbfbfbfbf;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0xbfbfbfbfbfbfbfbf;
+  *((unsigned long *)&__m256i_result[3]) = 0x0008000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xbfbfbfbfbfbfbfbf;
+  *((unsigned long *)&__m256i_result[1]) = 0x0008000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xbfbfbfbfbfbfbfbf;
+  __m256i_out = __lasx_xvfrstp_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000008;
+  __m256i_out = __lasx_xvfrstp_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000010;
+  __m256i_out = __lasx_xvfrstp_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000f0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000f0;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x00000000000000f0;
+  *((unsigned long *)&__m256i_op2[1]) = 0x00000000000000f0;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000000f0;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfrstp_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[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]) = 0x0000000000000010;
+  __m256i_out = __lasx_xvfrstp_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffe1;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffe1;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffe1;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffe1;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffe1;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffff10;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffe1;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffff10;
+  __m256i_out = __lasx_xvfrstp_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x007f007bfffffffb;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x007f007bfffffffb;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000010000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000010000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfrstp_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00000000ffdbbbcf;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffb8579f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffdbbbcf;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffb8579f;
+  *((unsigned long *)&__m256i_op2[3]) = 0xfffcfffcfffcfffc;
+  *((unsigned long *)&__m256i_op2[2]) = 0xfffcfffcfffcfffc;
+  *((unsigned long *)&__m256i_op2[1]) = 0xfffcfffcfffcfffc;
+  *((unsigned long *)&__m256i_op2[0]) = 0xfffcfffcfffcfffc;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfrstp_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000008;
+  __m256i_out = __lasx_xvfrstp_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffe000ffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffe000ffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffe000ffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffe000ffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000c040c0;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000c040c0;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x00000004843ffdff;
+  *((unsigned long *)&__m256i_op2[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x00000004843ffdff;
+  *((unsigned long *)&__m256i_op2[0]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffe000ffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffe000ffffffff08;
+  *((unsigned long *)&__m256i_result[1]) = 0xffe000ffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffe000ffffffff08;
+  __m256i_out = __lasx_xvfrstp_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffff0000;
+  __m256i_out = __lasx_xvfrstp_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0004000400040004;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0004000500040005;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0004000400040004;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0004000500040005;
+  *((unsigned long *)&__m256i_op2[3]) = 0x00007fff00007fff;
+  *((unsigned long *)&__m256i_op2[2]) = 0x00007fff00000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x00007fff00007fff;
+  *((unsigned long *)&__m256i_op2[0]) = 0x00007fff00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffff10;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffff10;
+  __m256i_out = __lasx_xvfrstp_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrstpi.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrstpi.c
new file mode 100644
index 00000000000..cdb7b11aa1a
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrstpi.c
@@ -0,0 +1,350 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x38a966b31be83ee9;
+  *((unsigned long *)&__m256i_op0[2]) = 0x5f6108dc25b8e028;
+  *((unsigned long *)&__m256i_op0[1]) = 0xf41a56e8a20878d7;
+  *((unsigned long *)&__m256i_op0[0]) = 0x683b8b67e20c8ee5;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffcd42ffffecc0;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000475ffff4c51;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000740dffffad17;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00003f4bffff7130;
+  *((unsigned long *)&__m256i_result[3]) = 0x38a966b31be83ee9;
+  *((unsigned long *)&__m256i_result[2]) = 0x5f6108dc25b80001;
+  *((unsigned long *)&__m256i_result[1]) = 0xf41a56e8a20878d7;
+  *((unsigned long *)&__m256i_result[0]) = 0x683b8b67e20c0001;
+  __m256i_out = __lasx_xvfrstpi_h (__m256i_op0, __m256i_op1, 0x10);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x1000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x1000000000000000;
+  __m256i_out = __lasx_xvfrstpi_b (__m256i_op0, __m256i_op1, 0x17);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000000004fb;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffff0008;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffff0008;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfrstpi_h (__m256i_op0, __m256i_op1, 0x14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffff0008ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffff0008ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfrstpi_h (__m256i_op0, __m256i_op1, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffc0ffc0ffc0ffc0;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffc0ffc0ffc0ffc0;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffc0ffc0ffc0ffc0;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffc0ffc0ffc0ffc0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00ffffff1e9e9e9e;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffff9e9eb09e;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00ffffff1e9e9e9e;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffff9e9eb09e;
+  *((unsigned long *)&__m256i_result[3]) = 0xffc0ffc0ffc0ffc0;
+  *((unsigned long *)&__m256i_result[2]) = 0xffc00000ffc0ffc0;
+  *((unsigned long *)&__m256i_result[1]) = 0xffc0ffc0ffc0ffc0;
+  *((unsigned long *)&__m256i_result[0]) = 0xffc00000ffc0ffc0;
+  __m256i_out = __lasx_xvfrstpi_h (__m256i_op0, __m256i_op1, 0xa);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffffe;
+  *((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_xvfrstpi_h (__m256i_op0, __m256i_op1, 0x19);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvfrstpi_b (__m256i_op0, __m256i_op1, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000226200005111;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000165e0000480d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000226200005111;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000165e0000480d;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffd8ffc7ffdaff8a;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffd8ffc7ffdaff8a;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000226200005111;
+  *((unsigned long *)&__m256i_result[2]) = 0x000016000000480d;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000226200005111;
+  *((unsigned long *)&__m256i_result[0]) = 0x000016000000480d;
+  __m256i_out = __lasx_xvfrstpi_b (__m256i_op0, __m256i_op1, 0x14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xe800c0d8fffeeece;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff383efffedf0c;
+  *((unsigned long *)&__m256i_op0[1]) = 0xe800c0d8fffeeece;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff383efffedf0c;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xe800c000fffeeece;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff383efffedf0c;
+  *((unsigned long *)&__m256i_result[1]) = 0xe800c000fffeeece;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff383efffedf0c;
+  __m256i_out = __lasx_xvfrstpi_b (__m256i_op0, __m256i_op1, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000008;
+  __m256i_out = __lasx_xvfrstpi_h (__m256i_op0, __m256i_op1, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x80000000ff800000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x80000000ff800000;
+  *((unsigned long *)&__m256i_result[3]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff000200000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff000200000000;
+  __m256i_out = __lasx_xvfrstpi_b (__m256i_op0, __m256i_op1, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffff00ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffff00ffffffff;
+  __m256i_out = __lasx_xvfrstpi_b (__m256i_op0, __m256i_op1, 0x14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7c007c0080008000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7c007c0080008000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x7c00000880008000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x7c00000880008000;
+  __m256i_out = __lasx_xvfrstpi_h (__m256i_op0, __m256i_op1, 0x1a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x457db03e457db03e;
+  *((unsigned long *)&__m256i_op0[2]) = 0x457db03e45a87310;
+  *((unsigned long *)&__m256i_op0[1]) = 0x457db03e457db03e;
+  *((unsigned long *)&__m256i_op0[0]) = 0x457db03e45a87310;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000f000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000f000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0008b03e457db03e;
+  *((unsigned long *)&__m256i_result[2]) = 0x457db03e45a87310;
+  *((unsigned long *)&__m256i_result[1]) = 0x0008b03e457db03e;
+  *((unsigned long *)&__m256i_result[0]) = 0x457db03e45a87310;
+  __m256i_out = __lasx_xvfrstpi_h (__m256i_op0, __m256i_op1, 0x1f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000000b;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000000b;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000000b;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000000b;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000008000b;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000000b;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000008000b;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000000b;
+  __m256i_out = __lasx_xvfrstpi_h (__m256i_op0, __m256i_op1, 0x1d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000dfffffff1;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000cfffffff3;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000dfffffff1;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000cfffffff3;
+  *((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_xvfrstpi_b (__m256i_op0, __m256i_op1, 0x16);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffff00;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffff00;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfrstpi_b (__m256i_op0, __m256i_op1, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000001000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000001000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000010001;
+  __m256i_out = __lasx_xvfrstpi_b (__m256i_op0, __m256i_op1, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0008000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0008000000000000;
+  __m256i_out = __lasx_xvfrstpi_h (__m256i_op0, __m256i_op1, 0x13);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000007fff0000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000007fff0000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_result[3]) = 0xff01fffe00000001;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_result[1]) = 0xff01fffe00000001;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffe00000001;
+  __m256i_out = __lasx_xvfrstpi_b (__m256i_op0, __m256i_op1, 0xe);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+  *((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_xvfrstpi_b (__m256i_op0, __m256i_op1, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0fffffff10000006;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0fffffff10000006;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0fffffff10000006;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0fffffff10000006;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0fffffff10000006;
+  *((unsigned long *)&__m256i_result[2]) = 0x10ffffff10000006;
+  *((unsigned long *)&__m256i_result[1]) = 0x0fffffff10000006;
+  *((unsigned long *)&__m256i_result[0]) = 0x10ffffff10000006;
+  __m256i_out = __lasx_xvfrstpi_b (__m256i_op0, __m256i_op1, 0x17);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhsubw-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhsubw-1.c
new file mode 100644
index 00000000000..fa4d5fd6fc2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhsubw-1.c
@@ -0,0 +1,620 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+  __m256i_out = __lasx_xvhsubw_h_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000fffefe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000fffefe;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000010000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvhsubw_h_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_h_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000483800;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000483800;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffb80000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffb80000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvhsubw_h_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvhsubw_h_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000080008001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000080008001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_xvhsubw_h_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000007fee;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000007fee;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000007fee;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000007fee;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000012;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000012;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000012;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000012;
+  __m256i_out = __lasx_xvhsubw_h_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_xvhsubw_h_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000f0f0003;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000f1003;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000f0001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000011;
+  __m256i_out = __lasx_xvhsubw_h_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00000000;
+  __m256i_out = __lasx_xvhsubw_h_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_h_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffe000ffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffe000ffffffff08;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffe000ffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffe000ffffffff08;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0fffffff10000006;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0fffffff10000006;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0fffffff10000006;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0fffffff10000006;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000001fffffff9;
+  __m256i_out = __lasx_xvhsubw_h_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000040;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000100002000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffc0;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00000000;
+  __m256i_out = __lasx_xvhsubw_h_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7f00000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fff000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fff000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvhsubw_w_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_w_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00b7003600120000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00b7006200fc0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000fe00ff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00b7004100190004;
+  *((unsigned long *)&__m256i_op1[3]) = 0xdb801b6d0962003f;
+  *((unsigned long *)&__m256i_op1[2]) = 0xdb8a3109fe0f0024;
+  *((unsigned long *)&__m256i_op1[1]) = 0x9a7f997fff01ffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xbe632a4f1c3c5653;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffe54affffffd3;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffcfae000000d8;
+  *((unsigned long *)&__m256i_result[1]) = 0x00006681000000ff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffd668ffffa9c6;
+  __m256i_out = __lasx_xvhsubw_w_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xbff00000bff00000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xbff00000bff00000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffbff1ffffbff1;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffbff1ffffbff1;
+  __m256i_out = __lasx_xvhsubw_w_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000f0000000f000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000f0000000f000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffff1fffffff1;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffff1fffffff1;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffff1fffffff1;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffff1fffffff1;
+  __m256i_out = __lasx_xvhsubw_w_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff00000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1010100f10100fd4;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff00000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x1010100f10100fd4;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffeeffaf;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000011;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffeeffaf;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000011;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000051;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000101000000fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000051;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000101000000fff;
+  __m256i_out = __lasx_xvhsubw_w_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_w_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x817f11ed81800ff0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x817f11ed81800ff0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff8180ffff8181;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff8180ffff8181;
+  __m256i_out = __lasx_xvhsubw_w_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000007;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000007;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00feff0100feff01;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00feff0100feff01;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000ff000000ff;
+  __m256i_out = __lasx_xvhsubw_w_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00ffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00ffffffffffffff;
+  *((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_xvhsubw_d_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_d_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_d_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7c007c007c007c00;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7c007c007c007c00;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7c007c007c007c00;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7c007c007c007c00;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000001010000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000007efeff00;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000001010000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000007efeff00;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000007aff7c00;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffffd017d00;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000007aff7c00;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffffd017d00;
+  __m256i_out = __lasx_xvhsubw_d_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfffffffe00000002;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffe00000002;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffe00000002;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffe00000002;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffffe;
+  __m256i_out = __lasx_xvhsubw_d_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_d_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_d_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op1[3]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op1[2]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op1[1]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff01ff01ff01ff01;
+  *((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_xvhsubw_d_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_d_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000020000000200;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000020000000200;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000020000000200;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000020000000200;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffe00;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffe00;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffe00;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffe00;
+  __m256i_out = __lasx_xvhsubw_d_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7ff0000000000000;
+  *((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_xvhsubw_d_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((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;
+  *((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_xvhsubw_q_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_q_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((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_xvhsubw_q_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00003f3f00004040;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00003f3f00004040;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00003f3f00004040;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00003f3f00004040;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffc0c0ffffbfc0;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffc0c0ffffbfc0;
+  __m256i_out = __lasx_xvhsubw_q_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000010000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000010000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0001000100000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0001000100000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffeffff10000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffeffff10000000;
+  __m256i_out = __lasx_xvhsubw_q_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000fff8579f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000fff8579f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000fff8579f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000fff8579f;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff0007a861;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff0007a861;
+  __m256i_out = __lasx_xvhsubw_q_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_q_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhsubw-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhsubw-2.c
new file mode 100644
index 00000000000..87c3e25b137
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhsubw-2.c
@@ -0,0 +1,545 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffff90ffffff80;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffff90ffffff80;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xff01ff70ff01ff80;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xff01ff70ff01ff80;
+  __m256i_out = __lasx_xvhsubw_hu_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xc2c2c2c2c2c2c2c2;
+  *((unsigned long *)&__m256i_op0[2]) = 0xc2c2c2c2c2c2c2c2;
+  *((unsigned long *)&__m256i_op0[1]) = 0xc2c2c2c2c2c2c2c2;
+  *((unsigned long *)&__m256i_op0[0]) = 0xc2c2c2c2c2c2c2c2;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000007;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000007;
+  *((unsigned long *)&__m256i_result[3]) = 0x00c200c200c200c2;
+  *((unsigned long *)&__m256i_result[2]) = 0x00c200c200c200bb;
+  *((unsigned long *)&__m256i_result[1]) = 0x00c200c200c200c2;
+  *((unsigned long *)&__m256i_result[0]) = 0x00c200c200c200bb;
+  __m256i_out = __lasx_xvhsubw_hu_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000a00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000010000000a;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000a00000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000010000000a;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000800000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000080008001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000800000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000080008001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_xvhsubw_hu_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvhsubw_hu_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000f90;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000f90;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff70;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ff70;
+  __m256i_out = __lasx_xvhsubw_hu_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_result[2]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvhsubw_hu_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000f9f9f9f9;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000faf3f3f2;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000f9f9f9f9;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000faf3f3f2;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000ff00bb;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000ff0057;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000ff00bb;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000ff0057;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000fffa003e;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000fffb009c;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000fffa003e;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000fffb009c;
+  __m256i_out = __lasx_xvhsubw_hu_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffff;
+  __m256i_out = __lasx_xvhsubw_wu_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x6300000000000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x6300000000000001;
+  *((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_xvhsubw_wu_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_wu_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000003fff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000003fff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000003fff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000003fff;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffc001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000c000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffc001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000c000;
+  __m256i_out = __lasx_xvhsubw_wu_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_wu_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x9ffffd8020010001;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffff9fffffff9;
+  *((unsigned long *)&__m256i_op0[1]) = 0x9ffffd8020010001;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffff9fffffff9;
+  *((unsigned long *)&__m256i_op1[3]) = 0x40f69fe73c26f4ee;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x40f69fe73c26f4ee;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000018ffff2b13;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000018ffff2b13;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffff;
+  __m256i_out = __lasx_xvhsubw_wu_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00800080ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00800080ffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000000000ffe0;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000001e18;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000000000ffe0;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000001e18;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffff001f;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000007fe268;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffff001f;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000007fe268;
+  __m256i_out = __lasx_xvhsubw_du_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff8c80;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000fffffe40;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0004000400040004;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffbfffc;
+  __m256i_out = __lasx_xvhsubw_du_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffff00fffffff0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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]) = 0x00000000ffffff00;
+  __m256i_out = __lasx_xvhsubw_du_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000055;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000055;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffefefeff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffff295329;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffefefeff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffff295329;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff01010101;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff00d6acd7;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff01010101;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00d6acd7;
+  __m256i_out = __lasx_xvhsubw_du_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x120e120dedf1edf2;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x120e120dedf1edf2;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000120e120d;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000120e120d;
+  __m256i_out = __lasx_xvhsubw_du_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000483800;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000483800;
+  *((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;
+  *((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_xvhsubw_du_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000001;
+  __m256i_out = __lasx_xvhsubw_du_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_du_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_du_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvhsubw_du_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvhsubw_du_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000dfffffff1;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000cfffffff3;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000dfffffff1;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000cfffffff3;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff0000000f;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff0000000d;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff0000000f;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff0000000d;
+  __m256i_out = __lasx_xvhsubw_du_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_du_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0002ff80ffb70000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffb7ff80ffd0ffd8;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00010000002fff9e;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffb5ff80ffd0ffd8;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0048007f002f0028;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x004a007f002f0028;
+  __m256i_out = __lasx_xvhsubw_qu_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_qu_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvhsubw_qu_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xdbcbdbcbecececec;
+  *((unsigned long *)&__m256i_op1[2]) = 0xdbcbdbcb0000dbcb;
+  *((unsigned long *)&__m256i_op1[1]) = 0xdbcbdbcbecececec;
+  *((unsigned long *)&__m256i_op1[0]) = 0xdbcbdbcb0000dbcb;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x24342434ffff2435;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x24342434ffff2435;
+  __m256i_out = __lasx_xvhsubw_qu_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((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;
+  *((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_xvhsubw_qu_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffba8300004fc2;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffba8300004fc2;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffba8300004fc2;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffba8300004fc2;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffba8300004fc2;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffba8300004fc2;
+  __m256i_out = __lasx_xvhsubw_qu_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffff8001;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+  __m256i_out = __lasx_xvhsubw_qu_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00003fff00003fff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00003fff00003fff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00003fff00003fff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00003fff00003fff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffebffffffebfff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffebffffffebfff;
+  __m256i_out = __lasx_xvhsubw_qu_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffff7eddffff7ed3;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff7edfffff7edf;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffff7eddffff7ed3;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff7edfffff7edf;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00003fef00003fea;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00003ff000003ff0;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00003fef00003fea;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00003ff000003ff0;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff3eedffff3ee3;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff3eedffff3ee3;
+  __m256i_out = __lasx_xvhsubw_qu_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvld.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvld.c
new file mode 100644
index 00000000000..c1eda6c6c4a
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvld.c
@@ -0,0 +1,86 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x042f0500cfea969a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x58569d7be9179100;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa98d4f7a77c308ee;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0ad152a5ad72feeb;
+  *((unsigned long *)&__m256i_result[3]) = 0x042f0500cfea969a;
+  *((unsigned long *)&__m256i_result[2]) = 0x58569d7be9179100;
+  *((unsigned long *)&__m256i_result[1]) = 0xa98d4f7a77c308ee;
+  *((unsigned long *)&__m256i_result[0]) = 0x0ad152a5ad72feeb;
+  __m256i_out = __lasx_xvld ((unsigned long *)&__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x042f0500cfea969a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x58569d7be9179100;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa98d4f7a77c308ee;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0ad152a5ad72feeb;
+  *((unsigned long *)&__m256i_result[3]) = 0x042f0500cfea969a;
+  *((unsigned long *)&__m256i_result[2]) = 0x58569d7be9179100;
+  *((unsigned long *)&__m256i_result[1]) = 0xa98d4f7a77c308ee;
+  *((unsigned long *)&__m256i_result[0]) = 0x0ad152a5ad72feeb;
+  __m256i_out = __lasx_xvldx ((unsigned long *)&__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x042f0500cfea969a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x58569d7be9179100;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa98d4f7a77c308ee;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0ad152a5ad72feeb;
+  *((unsigned long *)&__m256i_result[3]) = 0xebebebebebebebeb;
+  *((unsigned long *)&__m256i_result[2]) = 0xebebebebebebebeb;
+  *((unsigned long *)&__m256i_result[1]) = 0xebebebebebebebeb;
+  *((unsigned long *)&__m256i_result[0]) = 0xebebebebebebebeb;
+  __m256i_out = __lasx_xvldrepl_b ((unsigned long *)&__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x042f0500cfea969a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x58569d7be9179100;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa98d4f7a77c308ee;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0ad152a5ad72feeb;
+  *((unsigned long *)&__m256i_result[3]) = 0xfeebfeebfeebfeeb;
+  *((unsigned long *)&__m256i_result[2]) = 0xfeebfeebfeebfeeb;
+  *((unsigned long *)&__m256i_result[1]) = 0xfeebfeebfeebfeeb;
+  *((unsigned long *)&__m256i_result[0]) = 0xfeebfeebfeebfeeb;
+  __m256i_out = __lasx_xvldrepl_h ((unsigned long *)&__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x042f0500cfea969a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x58569d7be9179100;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa98d4f7a77c308ee;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0ad152a5ad72feeb;
+  *((unsigned long *)&__m256i_result[3]) = 0xad72feebad72feeb;
+  *((unsigned long *)&__m256i_result[2]) = 0xad72feebad72feeb;
+  *((unsigned long *)&__m256i_result[1]) = 0xad72feebad72feeb;
+  *((unsigned long *)&__m256i_result[0]) = 0xad72feebad72feeb;
+  __m256i_out = __lasx_xvldrepl_w ((unsigned long *)&__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x042f0500cfea969a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x58569d7be9179100;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa98d4f7a77c308ee;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0ad152a5ad72feeb;
+  *((unsigned long *)&__m256i_result[3]) = 0x0ad152a5ad72feeb;
+  *((unsigned long *)&__m256i_result[2]) = 0x0ad152a5ad72feeb;
+  *((unsigned long *)&__m256i_result[1]) = 0x0ad152a5ad72feeb;
+  *((unsigned long *)&__m256i_result[0]) = 0x0ad152a5ad72feeb;
+  __m256i_out = __lasx_xvldrepl_d ((unsigned long *)&__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmsub.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmsub.c
new file mode 100644
index 00000000000..8c8d4996b4e
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmsub.c
@@ -0,0 +1,647 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff00000000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x074132a240000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff00000000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvmsub_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00000000ffff0008;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffff0001;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x00007ffe81fdfe03;
+  *((unsigned long *)&__m256i_op2[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_xvmsub_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[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_xvmsub_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((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_xvmsub_d (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_op0[2]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_op0[1]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_op0[0]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_op1[3]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_op1[2]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_op1[1]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_op1[0]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_result[2]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_result[1]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_result[0]) = 0x555555ab555555ab;
+  __m256i_out = __lasx_xvmsub_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[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_xvmsub_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvmsub_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000017f0000017d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000017f0000017f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000002e0000002e;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000002e0000ffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000002e0000002e;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000002e0000fffe;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000002e0000002e;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000002e0000ffff;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000002e0000002e;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000002e0000fffe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000f7bc0001f7bd;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000f93b0000017c;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000f7bc0001f7bd;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000f93b0000017b;
+  __m256i_out = __lasx_xvmsub_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_op0[1]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_op0[0]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x1410141014101410;
+  *((unsigned long *)&__m256i_result[2]) = 0x1410141014101410;
+  *((unsigned long *)&__m256i_result[1]) = 0x1410141014101410;
+  *((unsigned long *)&__m256i_result[0]) = 0x1410141014101410;
+  __m256i_out = __lasx_xvmsub_w (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xdb801b6d0962003f;
+  *((unsigned long *)&__m256i_op0[2]) = 0xdb8a3109fe0f0024;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000007fff01ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xdb8e209d0cce025a;
+  *((unsigned long *)&__m256i_op1[3]) = 0xb70036db12c4007e;
+  *((unsigned long *)&__m256i_op1[2]) = 0xb7146213fc1e0049;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000fefe02fffe;
+  *((unsigned long *)&__m256i_op1[0]) = 0xb71c413b199d04b5;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0xffffcc8000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x000000007dfdff4b;
+  *((unsigned long *)&__m256i_result[3]) = 0xdb801b6d0962003f;
+  *((unsigned long *)&__m256i_result[2]) = 0xdb8a3109fe0f0024;
+  *((unsigned long *)&__m256i_result[1]) = 0x9a7f997fff01ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xbe632a4f1c3c5653;
+  __m256i_out = __lasx_xvmsub_d (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x00000000fffffffe;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op2[1]) = 0x00000000fffffffe;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[1]) = 0x01010101010000ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvmsub_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000004800000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000004500f300fb;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000004800000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000004500f300fb;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000004800000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000004500f300fb;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000004800000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000004500f300fb;
+  *((unsigned long *)&__m256i_result[3]) = 0x7b7b7b7b80000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xcacacb1011040500;
+  *((unsigned long *)&__m256i_result[1]) = 0x7b7b7b7b80000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xcacacb1011040500;
+  __m256i_out = __lasx_xvmsub_d (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[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_xvmsub_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfffffffefffffffe;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffefffffffe;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffefffffffe;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffefffffffe;
+  *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffefffffffe;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffefffffffe;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffefffffffe;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffefffffffe;
+  __m256i_out = __lasx_xvmsub_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfff3fff3fff3fff3;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfff3fff3fff3fff3;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfff3fff3fff3fff3;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfff3fff3fff3fff3;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000001a00;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000001a00;
+  __m256i_out = __lasx_xvmsub_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[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_xvmsub_w (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff800000ff800000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff800000ff800000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff800000ff800000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff80000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffecffffffec;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffecffffffec;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffecffffffec;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffecffffffec;
+  *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xfe7fffecfe7fffec;
+  *((unsigned long *)&__m256i_result[2]) = 0xff800000ff800000;
+  *((unsigned long *)&__m256i_result[1]) = 0xfe7fffecfe7fffec;
+  *((unsigned long *)&__m256i_result[0]) = 0xff80000000000000;
+  __m256i_out = __lasx_xvmsub_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xa020202020202020;
+  *((unsigned long *)&__m256i_op0[2]) = 0xa020202020206431;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa020202020202020;
+  *((unsigned long *)&__m256i_op0[0]) = 0xa020202020206431;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xa020202020202020;
+  *((unsigned long *)&__m256i_result[2]) = 0xa020202020206431;
+  *((unsigned long *)&__m256i_result[1]) = 0xa020202020202020;
+  *((unsigned long *)&__m256i_result[0]) = 0xa020202020206431;
+  __m256i_out = __lasx_xvmsub_w (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ff00000000ff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op2[3]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_op2[2]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_op2[1]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_op2[0]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000007fff80fe;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007fff80fe;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff80007ffe;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ff007fff80fe;
+  __m256i_out = __lasx_xvmsub_w (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x9ff87ef07f7f817f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7f807f007f7f817f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x9ff87ef07f7f817f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7f807f007f7f817f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x9ff87ef07f7f817f;
+  *((unsigned long *)&__m256i_result[2]) = 0x7f807f007f7f817f;
+  *((unsigned long *)&__m256i_result[1]) = 0x9ff87ef07f7f817f;
+  *((unsigned long *)&__m256i_result[0]) = 0x7f807f007f7f817f;
+  __m256i_out = __lasx_xvmsub_d (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000080008001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000080008001;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[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_xvmsub_w (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000001;
+  *((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_xvmsub_w (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x1f001f00000007ef;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x00001fff200007ef;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_xvmsub_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000064;
+  *((unsigned long *)&__m256i_result[3]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x4000000000000000;
+  __m256i_out = __lasx_xvmsub_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000457db03e;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff457db03f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000457db03e;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff457db03f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x00000000457db03e;
+  *((unsigned long *)&__m256i_op2[2]) = 0xffffffff457db03f;
+  *((unsigned long *)&__m256i_op2[1]) = 0x00000000457db03e;
+  *((unsigned long *)&__m256i_op2[0]) = 0xffffffff457db03f;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000457db03e;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff457db03f;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000457db03e;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff457db03f;
+  __m256i_out = __lasx_xvmsub_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[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_xvmsub_d (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000fe200000fe1f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000fe200000fe1f;
+  *((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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x001ffffe00200000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x001ffffe00200000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000fe200000fe1f;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000fe200000fe1f;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvmsub_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[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_xvmsub_d (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[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_xvmsub_w (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7fe363637fe36363;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fe363637fe36363;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fe363637fe36363;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fe363637fe36363;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000009e;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000009e;
+  __m256i_out = __lasx_xvmsub_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0xffff0078ffff0078;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0xffff0078ffff0078;
+  *((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_xvmsub_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000038ea4d4a;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fff00007fff0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000038ea4d4a;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fff00007fff0000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffff8;
+  __m256i_out = __lasx_xvmsub_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000000d6d6d;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000d6d6d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000000d6d6d;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000d6d6d;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000000d6d6d;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000d6d6d;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000d6d6d;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000d6d6d;
+  __m256i_out = __lasx_xvmsub_w (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvrotr.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvrotr.c
new file mode 100644
index 00000000000..21446e55eb2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvrotr.c
@@ -0,0 +1,530 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvrotr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffff0001ff02;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffff020afefc;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000003fefd;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffefffefff7fff7;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff7ffffffbfffb;
+  __m256i_out = __lasx_xvrotr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffff0001ff02;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff020afefc;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000003fefd;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0209fefb08140000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0003fffc00060000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff0001ff04;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff02a0fefc;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000cfefd;
+  __m256i_out = __lasx_xvrotr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00000007;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000e7;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00000007;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000007;
+  *((unsigned long *)&__m256i_op1[3]) = 0xff01ff010000fff9;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ff19;
+  *((unsigned long *)&__m256i_op1[1]) = 0xff02ff020001fffa;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000100010001fffa;
+  *((unsigned long *)&__m256i_result[3]) = 0x807f807f00000380;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000007380;
+  *((unsigned long *)&__m256i_result[1]) = 0xc03fc03f000001c0;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000001c0;
+  __m256i_out = __lasx_xvrotr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff8c80;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000fffffe40;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff8c80;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000fffffe40;
+  __m256i_out = __lasx_xvrotr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7f7f7f7f7f7f7f7f;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_result[1]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op1[2]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op1[1]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff01ff01ff01ff01;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvrotr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvrotr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvrotr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvrotr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000007fee;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000007fee;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000007fee;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000007fee;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000fedd;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000fedd;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000fedd;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000fedd;
+  __m256i_out = __lasx_xvrotr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvrotr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffff;
+  __m256i_out = __lasx_xvrotr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x805f0000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x805f0000ffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x805f0000ffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x805f0000ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_result[2]) = 0x80be0000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_result[0]) = 0x80be0000ffffffff;
+  __m256i_out = __lasx_xvrotr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvrotr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvrotr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000f0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000f0;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000000f0;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000000f0;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000457db03e;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff457db03f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000457db03e;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff457db03f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000457d607d;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff457d607f;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000457d607d;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff457d607f;
+  __m256i_out = __lasx_xvrotr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x07ffffff07ffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x07ffffff07ffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x07ffffff07ffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x07ffffff07ffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffefffffffe;
+  *((unsigned long *)&__m256i_result[2]) = 0x0ffffffe0ffffffe;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffefffffffe;
+  *((unsigned long *)&__m256i_result[0]) = 0x0ffffffe0ffffffe;
+  __m256i_out = __lasx_xvrotr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffe0047d00e00480;
+  *((unsigned long *)&__m256i_op0[2]) = 0x001fc0200060047a;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffe0047d00e00480;
+  *((unsigned long *)&__m256i_op0[0]) = 0x001fc0200060047a;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffe0047d00e00480;
+  *((unsigned long *)&__m256i_result[2]) = 0x001fc0200060047a;
+  *((unsigned long *)&__m256i_result[1]) = 0xffe0047d00e00480;
+  *((unsigned long *)&__m256i_result[0]) = 0x001fc0200060047a;
+  __m256i_out = __lasx_xvrotr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x386000003df80000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x386000003df80000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00ca0000fff80000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00ca0000fff80000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x381800007af80000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x381800007af80000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00000000ffff0001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffff0001;
+  *((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_xvrotr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvrotr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000086fe0000403e;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000403e00004040;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000086fe0000403e;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000403e00004040;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000086fe0000403e;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000403e00004040;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000086fe0000403e;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000403e00004040;
+  *((unsigned long *)&__m256i_result[3]) = 0x00001bfa000000f9;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000f900004040;
+  *((unsigned long *)&__m256i_result[1]) = 0x00001bfa000000f9;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000f900004040;
+  __m256i_out = __lasx_xvrotr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvrotr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffff0607ffff0607;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff0607ffff0607;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffff0607ffff0607;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff0607ffff0607;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000f9f9f9f9;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000faf3f3f2;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000f9f9f9f9;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000faf3f3f2;
+  *((unsigned long *)&__m256i_result[3]) = 0xffff0607ffff0383;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff0607ffffc0c1;
+  *((unsigned long *)&__m256i_result[1]) = 0xffff0607ffff0383;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff0607ffffc0c1;
+  __m256i_out = __lasx_xvrotr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvrotr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000040;
+  __m256i_out = __lasx_xvrotr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000007f433c79;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000007f433c79;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000007f8000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000007f8000;
+  __m256i_out = __lasx_xvrotr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000b7;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffefff80;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000b7;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffefff80;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000001fff000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000001fff000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000000000b7;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffdfff80;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000000b7;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffdfff80;
+  __m256i_out = __lasx_xvrotr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000010000000001;
+  *((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_xvrotr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0001000100800000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvrotr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffff0000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffff0000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffff0000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffff0000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvrotr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvrotri.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvrotri.c
new file mode 100644
index 00000000000..c1b8e1752ae
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvrotri.c
@@ -0,0 +1,394 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvrotri_h (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotri_h (__m256i_op0, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotri_d (__m256i_op0, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xbea2e127c046721f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1729c073816edebe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xde91f010000006f9;
+  *((unsigned long *)&__m256i_op0[0]) = 0x5ef1f90efefaf30d;
+  *((unsigned long *)&__m256i_result[3]) = 0x515f93f023600fb9;
+  *((unsigned long *)&__m256i_result[2]) = 0x948b39e0b7405f6f;
+  *((unsigned long *)&__m256i_result[1]) = 0x48ef087800007c83;
+  *((unsigned long *)&__m256i_result[0]) = 0x78af877c7d7f86f9;
+  __m256i_out = __lasx_xvrotri_h (__m256i_op0, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0202020202020202;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0202020202020202;
+  *((unsigned long *)&__m256i_op0[1]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_op0[0]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_result[3]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[2]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvrotri_h (__m256i_op0, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7f7f7f7f7fff00ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7f007f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7f7f7f7f7fff00ff;
+  *((unsigned long *)&__m256i_result[3]) = 0xbfbfbfbfbfbfbfbf;
+  *((unsigned long *)&__m256i_result[2]) = 0xbfbfbfbfbfff807f;
+  *((unsigned long *)&__m256i_result[1]) = 0xbf803fbfbfbfbfbf;
+  *((unsigned long *)&__m256i_result[0]) = 0xbfbfbfbfbfff807f;
+  __m256i_out = __lasx_xvrotri_d (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffef;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000010;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffef;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000010;
+  __m256i_out = __lasx_xvrotri_b (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000002a5429;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000002a5429;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000002a54290;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000002a54290;
+  __m256i_out = __lasx_xvrotri_w (__m256i_op0, 0x1c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotri_b (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000907;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000907;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000483800;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000483800;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotri_w (__m256i_op0, 0x15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000007f0000007f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000007f0000007f;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff01ff80ff01ff80;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff01ff800000007e;
+  *((unsigned long *)&__m256i_result[3]) = 0x003f8000003f8000;
+  *((unsigned long *)&__m256i_result[2]) = 0x003f8000003f8000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffc07f80ffc07f80;
+  *((unsigned long *)&__m256i_result[0]) = 0xffc07f80003f0000;
+  __m256i_out = __lasx_xvrotri_w (__m256i_op0, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotri_d (__m256i_op0, 0x24);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvrotri_d (__m256i_op0, 0x16);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffff6f20;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffff6f20;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xdbc8000000003fff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xdbc8000000003fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotri_d (__m256i_op0, 0x12);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0d0d0d0d0d0d0d0d;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0d0d0d0d0d0d0d0d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0d0d0d0d0d0d0d0d;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0d0d0d0d0d0d0d0d;
+  *((unsigned long *)&__m256i_result[3]) = 0x4343434343434343;
+  *((unsigned long *)&__m256i_result[2]) = 0x4343434343434343;
+  *((unsigned long *)&__m256i_result[1]) = 0x4343434343434343;
+  *((unsigned long *)&__m256i_result[0]) = 0x4343434343434343;
+  __m256i_out = __lasx_xvrotri_h (__m256i_op0, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotri_d (__m256i_op0, 0x38);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffee;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffee;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffee;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffee;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffdffd;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffdffd;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffdffd;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffdffd;
+  __m256i_out = __lasx_xvrotri_h (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotri_d (__m256i_op0, 0x15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvrotri_w (__m256i_op0, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotri_d (__m256i_op0, 0x35);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotri_w (__m256i_op0, 0x15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000f0000000f000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000f0000000f000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000f0000000f000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000f0000000f000;
+  __m256i_out = __lasx_xvrotri_w (__m256i_op0, 0x14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvrotri_h (__m256i_op0, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x80000000ff800000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x80000000ff800000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000007fc00000400;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000040000000400;
+  *((unsigned long *)&__m256i_result[1]) = 0x000007fc00000400;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000040000000400;
+  __m256i_out = __lasx_xvrotri_d (__m256i_op0, 0x35);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000008000;
+  __m256i_out = __lasx_xvrotri_h (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotri_b (__m256i_op0, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x4000000000000000;
+  *((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_xvrotri_b (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotri_h (__m256i_op0, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotri_b (__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotri_w (__m256i_op0, 0x1a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x007f0000007f0060;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x007f0000007f0060;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00f7000000f70006;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00f7000000f70006;
+  __m256i_out = __lasx_xvrotri_b (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotri_d (__m256i_op0, 0x15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvrotri_h (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffefffffffeff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffefffffffeff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffefffffffeff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffefffffffeff;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffbfffffffb;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffbfffffffb;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffbfffffffb;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffbfffffffb;
+  __m256i_out = __lasx_xvrotri_h (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvst.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvst.c
new file mode 100644
index 00000000000..3c5e775ff36
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvst.c
@@ -0,0 +1,102 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x042f0500cfea969a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x58569d7be9179100;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa98d4f7a77c308ee;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0ad152a5ad72feeb;
+  *((unsigned long *)&__m256i_result[3]) = 0x0;
+  *((unsigned long *)&__m256i_result[2]) = 0x0;
+  *((unsigned long *)&__m256i_result[1]) = 0x0;
+  *((unsigned long *)&__m256i_result[0]) = 0x0;
+  __lasx_xvst (__m256i_op0, (unsigned long *)&__m256i_result, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_op0, __m256i_result);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x042f0500cfea969a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x58569d7be9179100;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa98d4f7a77c308ee;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0ad152a5ad72feeb;
+  *((unsigned long *)&__m256i_result[3]) = 0x0;
+  *((unsigned long *)&__m256i_result[2]) = 0x0;
+  *((unsigned long *)&__m256i_result[1]) = 0x0;
+  *((unsigned long *)&__m256i_result[0]) = 0x0;
+  __lasx_xvstx (__m256i_op0, (unsigned long *)&__m256i_result, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_op0, __m256i_result);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x042f0500cfea969a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x58569d7be9179100;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa98d4f7a77c308ee;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0ad152a5ad72feeb;
+  *((unsigned long *)&__m256i_result[3]) = 0x0;
+  *((unsigned long *)&__m256i_result[2]) = 0x0;
+  *((unsigned long *)&__m256i_result[1]) = 0x0;
+  *((unsigned long *)&__m256i_result[0]) = 0x8d;
+  *((unsigned long *)&__m256i_out[3]) = 0x0;
+  *((unsigned long *)&__m256i_out[2]) = 0x0;
+  *((unsigned long *)&__m256i_out[1]) = 0x0;
+  *((unsigned long *)&__m256i_out[0]) = 0x0;
+  __lasx_xvstelm_b (__m256i_op0, (unsigned long *)&__m256i_out, 0x0, 0xe);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x042f0500cfea969a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x58569d7be9179100;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa98d4f7a77c308ee;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0ad152a5ad72feeb;
+  *((unsigned long *)&__m256i_result[3]) = 0x0;
+  *((unsigned long *)&__m256i_result[2]) = 0x0;
+  *((unsigned long *)&__m256i_result[1]) = 0x0;
+  *((unsigned long *)&__m256i_result[0]) = 0x9100;
+  *((unsigned long *)&__m256i_out[3]) = 0x0;
+  *((unsigned long *)&__m256i_out[2]) = 0x0;
+  *((unsigned long *)&__m256i_out[1]) = 0x0;
+  *((unsigned long *)&__m256i_out[0]) = 0x0;
+  __lasx_xvstelm_h (__m256i_op0, (unsigned long *)&__m256i_out, 0x0, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x042f0500cfea969a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x58569d7be9179100;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa98d4f7a77c308ee;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0ad152a5ad72feeb;
+  *((unsigned long *)&__m256i_result[3]) = 0x0;
+  *((unsigned long *)&__m256i_result[2]) = 0x0;
+  *((unsigned long *)&__m256i_result[1]) = 0x0;
+  *((unsigned long *)&__m256i_result[0]) = 0xe9179100;
+  *((unsigned long *)&__m256i_out[3]) = 0x0;
+  *((unsigned long *)&__m256i_out[2]) = 0x0;
+  *((unsigned long *)&__m256i_out[1]) = 0x0;
+  *((unsigned long *)&__m256i_out[0]) = 0x0;
+  __lasx_xvstelm_w (__m256i_op0, (unsigned long *)&__m256i_out, 0x0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x042f0500cfea969a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x58569d7be9179100;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa98d4f7a77c308ee;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0ad152a5ad72feeb;
+  *((unsigned long *)&__m256i_result[3]) = 0x0;
+  *((unsigned long *)&__m256i_result[2]) = 0x0;
+  *((unsigned long *)&__m256i_result[1]) = 0x0;
+  *((unsigned long *)&__m256i_result[0]) = 0x58569d7be9179100;
+  *((unsigned long *)&__m256i_out[3]) = 0x0;
+  *((unsigned long *)&__m256i_out[2]) = 0x0;
+  *((unsigned long *)&__m256i_out[1]) = 0x0;
+  *((unsigned long *)&__m256i_out[0]) = 0x0;
+  __lasx_xvstelm_d (__m256i_op0, (unsigned long *)&__m256i_out, 0x0, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
-- 
2.20.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v4 18/22] LoongArch: Add tests for ASX vector xvabsd/xvavg/xvavgr/xvbsll/xvbsrl/xvneg/ xvsat instructions.
  2023-09-13  3:40 [PATCH v4 10/22] LoongArch: Add tests for ASX vector xvssran/xvssrani/xvssrarn/xvssrarni/xvssrln/ xvssrlni/xvssrlrn/xvssrlrni instructions Xiaolong Chen
                   ` (6 preceding siblings ...)
  2023-09-13  3:40 ` [PATCH v4 17/22] LoongArch: Add tests for ASX vector xvfnmadd/xvfrstp/xvfstpi/xvhsubw/ xvmsub/xvrotr/xvrotri/xvld/xvst instructions Xiaolong Chen
@ 2023-09-13  3:40 ` Xiaolong Chen
  7 siblings, 0 replies; 9+ messages in thread
From: Xiaolong Chen @ 2023-09-13  3:40 UTC (permalink / raw)
  To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen

gcc/testsuite/ChangeLog:

	* gcc.target/loongarch/vector/lasx/lasx-xvabsd-1.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvabsd-2.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvavg-1.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvavg-2.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvavgr-1.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvavgr-2.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvbsll_v.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvbsrl_v.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvneg.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvsat-1.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvsat-2.c: New test.
---
 .../loongarch/vector/lasx/lasx-xvabsd-1.c     | 485 +++++++++++
 .../loongarch/vector/lasx/lasx-xvabsd-2.c     | 650 +++++++++++++++
 .../loongarch/vector/lasx/lasx-xvavg-1.c      | 680 ++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvavg-2.c      | 560 +++++++++++++
 .../loongarch/vector/lasx/lasx-xvavgr-1.c     | 770 ++++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvavgr-2.c     | 650 +++++++++++++++
 .../loongarch/vector/lasx/lasx-xvbsll_v.c     | 130 +++
 .../loongarch/vector/lasx/lasx-xvbsrl_v.c     |  64 ++
 .../loongarch/vector/lasx/lasx-xvneg.c        | 526 ++++++++++++
 .../loongarch/vector/lasx/lasx-xvsat-1.c      | 537 ++++++++++++
 .../loongarch/vector/lasx/lasx-xvsat-2.c      | 427 ++++++++++
 11 files changed, 5479 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvabsd-1.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvabsd-2.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavg-1.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavg-2.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavgr-1.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavgr-2.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbsll_v.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbsrl_v.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvneg.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsat-1.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsat-2.c

diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvabsd-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvabsd-1.c
new file mode 100644
index 00000000000..41fae32df0d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvabsd-1.c
@@ -0,0 +1,485 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x34598d0fd19314cb;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1820939b2280fa86;
+  *((unsigned long *)&__m256i_op0[1]) = 0x4a1c269b8e892a3a;
+  *((unsigned long *)&__m256i_op0[0]) = 0x063f2bb758abc664;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffc0fcffffcf83;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000288a00003c1c;
+  *((unsigned long *)&__m256i_result[3]) = 0x3459730f2f6d1435;
+  *((unsigned long *)&__m256i_result[2]) = 0x19212d61237f2b03;
+  *((unsigned long *)&__m256i_result[1]) = 0x4a1c266572772a3a;
+  *((unsigned long *)&__m256i_result[0]) = 0x063f032d58557648;
+  __m256i_out = __lasx_xvabsd_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfe00000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1cfd000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfe00000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x1cfd000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfe00000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x1cfd000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfe00000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x1cfd000000000000;
+  *((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_xvabsd_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000007f017f01;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000007f017f01;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvabsd_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvabsd_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000050504c4c2362;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000b2673a90896a4;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000050504c4c2362;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000b2673a90896a4;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[2]) = 0xd0d8eecf383fdf0d;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[0]) = 0xd0d8eecf383fdf0d;
+  *((unsigned long *)&__m256i_result[3]) = 0x0001504f4c4b2361;
+  *((unsigned long *)&__m256i_result[2]) = 0x303338a48f374969;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001504f4c4b2361;
+  *((unsigned long *)&__m256i_result[0]) = 0x303338a48f374969;
+  __m256i_out = __lasx_xvabsd_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000002;
+  __m256i_out = __lasx_xvabsd_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x807c7fffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x80817fff00810000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x807c7fffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x80817fff00810000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0006000000040000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0002000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0006000000040000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0002000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x80767f0101050101;
+  *((unsigned long *)&__m256i_result[2]) = 0x80817f01007f0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x80767f0101050101;
+  *((unsigned long *)&__m256i_result[0]) = 0x80817f01007f0000;
+  __m256i_out = __lasx_xvabsd_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x437fe01fe01fe020;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x437fe01fe01fe020;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x037fe01f001fe020;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x037fe01f001fe020;
+  *((unsigned long *)&__m256i_result[3]) = 0x437f201f201f2020;
+  *((unsigned long *)&__m256i_result[2]) = 0x037f201f001f2020;
+  *((unsigned long *)&__m256i_result[1]) = 0x437f201f201f2020;
+  *((unsigned long *)&__m256i_result[0]) = 0x037f201f001f2020;
+  __m256i_out = __lasx_xvabsd_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1fa0000000080000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x1fa0000000080000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000010000000100;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000010000000100;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x1f60010000080100;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x1f60010000080100;
+  __m256i_out = __lasx_xvabsd_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvabsd_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000002780;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000002780;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0002fffd;
+  *((unsigned long *)&__m256i_op1[2]) = 0x04f104f104f504ed;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0002fffd;
+  *((unsigned long *)&__m256i_op1[0]) = 0x04f104f104f504ed;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000010100020103;
+  *((unsigned long *)&__m256i_result[2]) = 0x040f040f040b236d;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000010100020103;
+  *((unsigned long *)&__m256i_result[0]) = 0x040f040f040b236d;
+  __m256i_out = __lasx_xvabsd_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000100010000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000100010000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000100010000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000100010000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000100010000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000100010080;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000100010000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000100010080;
+  __m256i_out = __lasx_xvabsd_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000044444443;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000073333333;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000044444443;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000073333333;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000044444443;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000073333333;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000044444443;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000073333333;
+  __m256i_out = __lasx_xvabsd_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000050fd00000101;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000040c100000101;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000050fd00000101;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000040c100000101;
+  *((unsigned long *)&__m256i_result[3]) = 0x000050fd00000101;
+  *((unsigned long *)&__m256i_result[2]) = 0x000040c100000101;
+  *((unsigned long *)&__m256i_result[1]) = 0x000050fd00000101;
+  *((unsigned long *)&__m256i_result[0]) = 0x000040c100000101;
+  __m256i_out = __lasx_xvabsd_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x01ffff4300fffeff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfe0000bcff000100;
+  *((unsigned long *)&__m256i_op1[1]) = 0x01ffff4300fffeff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfe0000bcff000100;
+  *((unsigned long *)&__m256i_result[3]) = 0x81ff00bd80ff0101;
+  *((unsigned long *)&__m256i_result[2]) = 0x01ff00bd00ff0101;
+  *((unsigned long *)&__m256i_result[1]) = 0x81ff00bd80ff0101;
+  *((unsigned long *)&__m256i_result[0]) = 0x01ff00bd00ff0101;
+  __m256i_out = __lasx_xvabsd_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000007ffffffce;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000007ffffffce;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00003fef00003fea;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00003ff000003ff0;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00003fef00003fea;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00003ff000003ff0;
+  *((unsigned long *)&__m256i_result[3]) = 0x00003fea00013feb;
+  *((unsigned long *)&__m256i_result[2]) = 0x00003fe900014022;
+  *((unsigned long *)&__m256i_result[1]) = 0x00003fea00013feb;
+  *((unsigned long *)&__m256i_result[0]) = 0x00003fe900014022;
+  __m256i_out = __lasx_xvabsd_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0cc08723ff900001;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xcc9b89f2f6cef440;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0cc08723006fffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x3364760e09310bc0;
+  __m256i_out = __lasx_xvabsd_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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]) = 0x0000000100000000;
+  __m256i_out = __lasx_xvabsd_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000017f0000017d;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000017f0000017f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000017f0000017d;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000017f0000017f;
+  __m256i_out = __lasx_xvabsd_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00fe01f000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00fe01f000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xbf800000bf800000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xd662fa0000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xbf800000bf800000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xd6ef750000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x417e01f040800000;
+  *((unsigned long *)&__m256i_result[2]) = 0x299d060000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x417e01f040800000;
+  *((unsigned long *)&__m256i_result[0]) = 0x29108b0000000000;
+  __m256i_out = __lasx_xvabsd_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000017;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000001700170017;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000017;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000001700170017;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000017;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000001700170017;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000017;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000001700170017;
+  __m256i_out = __lasx_xvabsd_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffa0078fffa0074;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffefffefffefffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffa0078fffa0074;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffb79fb74;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffffffffa;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffb79fb74;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffffa;
+  *((unsigned long *)&__m256i_result[3]) = 0x000100010485048a;
+  *((unsigned long *)&__m256i_result[2]) = 0x0005ff870005ff86;
+  *((unsigned long *)&__m256i_result[1]) = 0x000100010485048a;
+  *((unsigned long *)&__m256i_result[0]) = 0x0005ff870005ff86;
+  __m256i_out = __lasx_xvabsd_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000010001;
+  __m256i_out = __lasx_xvabsd_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000005;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000005;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000400000004000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000400000004000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000400000004000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000400000004000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000400000003ffb;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000400100004001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000400000003ffb;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000400100004001;
+  __m256i_out = __lasx_xvabsd_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffe00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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]) = 0x0000000200000000;
+  __m256i_out = __lasx_xvabsd_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00000000;
+  __m256i_out = __lasx_xvabsd_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvabsd-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvabsd-2.c
new file mode 100644
index 00000000000..bd7a9069da6
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvabsd-2.c
@@ -0,0 +1,650 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 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;
+  *((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_xvabsd_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x2020000020200000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x2020000020200000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0008000001010000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0101000001010000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x2020000020200000;
+  *((unsigned long *)&__m256i_result[2]) = 0x2020000020200000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0008000001010000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101000001010000;
+  __m256i_out = __lasx_xvabsd_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000100010485048a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0005ff870005ff86;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000100010485048a;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0005ff870005ff86;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffecffffffec;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffecffffffec;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffecffffffec;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffecffffffec;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffeffebfb7afb62;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffa0065fffa0066;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffeffebfb7afb62;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffa0065fffa0066;
+  __m256i_out = __lasx_xvabsd_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000009;
+  __m256i_out = __lasx_xvabsd_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_xvabsd_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fff7fff05407fff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fff7fff05407fff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x3fff3fff3fff3fff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000003fff3fff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x3fff3fff3fff3fff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000003fff3fff;
+  *((unsigned long *)&__m256i_result[3]) = 0x400040003abf4000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000003fff3fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x400040003abf4000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000003fff3fff;
+  __m256i_out = __lasx_xvabsd_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0408040800008003;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0408040800008003;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000fff80800;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0408040800008003;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x04080408fff87803;
+  __m256i_out = __lasx_xvabsd_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0606060606060606;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0606060606060606;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0606060606060606;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0606060606060606;
+  *((unsigned long *)&__m256i_result[3]) = 0xf9f9f9f9f9f9f9f9;
+  *((unsigned long *)&__m256i_result[2]) = 0xf9f9f9f9f9f9f9f9;
+  *((unsigned long *)&__m256i_result[1]) = 0xf9f9f9f9f9f9f9f9;
+  *((unsigned long *)&__m256i_result[0]) = 0xf9f9f9f9f9f9f9f9;
+  __m256i_out = __lasx_xvabsd_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffff0000ffff0001;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffff0000ffff0001;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff0000ffff0001;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff0000ffff0001;
+  __m256i_out = __lasx_xvabsd_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff00ff003f003f00;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff0101fd00010100;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff00ff003f003f00;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff0101fd00010100;
+  *((unsigned long *)&__m256i_op1[3]) = 0xff00ff003f003f00;
+  *((unsigned long *)&__m256i_op1[2]) = 0xff0101fd00010100;
+  *((unsigned long *)&__m256i_op1[1]) = 0xff00ff003f003f00;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff0101fd00010100;
+  *((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_xvabsd_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000000a0008;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000000a0008;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffffff5fff7;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffffff5fff7;
+  __m256i_out = __lasx_xvabsd_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000001010000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000001010000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000001010000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000001010000;
+  __m256i_out = __lasx_xvabsd_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000001400000014;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000001400000014;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000001400000014;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000001400000014;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000001400000014;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000001400000014;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000001400000014;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000001400000014;
+  __m256i_out = __lasx_xvabsd_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfbba01c0003f7e3f;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffc6cc05c64d960e;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfbd884e7003f7e3f;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff874dc687870000;
+  *((unsigned long *)&__m256i_result[3]) = 0xfbba01c0003f7e3f;
+  *((unsigned long *)&__m256i_result[2]) = 0xffc6cc05c64d960e;
+  *((unsigned long *)&__m256i_result[1]) = 0xfbd884e7003f7e3f;
+  *((unsigned long *)&__m256i_result[0]) = 0xff874dc687870000;
+  __m256i_out = __lasx_xvabsd_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x80000000ff800000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x80000000ff800000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x800000007fff0001;
+  *((unsigned long *)&__m256i_result[2]) = 0x80000000ff7f0001;
+  *((unsigned long *)&__m256i_result[1]) = 0x800000007fff0001;
+  *((unsigned long *)&__m256i_result[0]) = 0x80000000ff7f0001;
+  __m256i_out = __lasx_xvabsd_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvabsd_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x01fe01fe01fe01fe;
+  *((unsigned long *)&__m256i_result[2]) = 0x01fe01fe01fe01fe;
+  *((unsigned long *)&__m256i_result[1]) = 0x01fe01fe01fe01fe;
+  *((unsigned long *)&__m256i_result[0]) = 0x01fe01fe01fe01fe;
+  __m256i_out = __lasx_xvabsd_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000010000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000010000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000010000080040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000010000080040;
+  __m256i_out = __lasx_xvabsd_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvabsd_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvabsd_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffffd;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffffe;
+  __m256i_out = __lasx_xvabsd_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvabsd_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000003;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvabsd_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff000c0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00040000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff000c0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff00040000;
+  __m256i_out = __lasx_xvabsd_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000033;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000033;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00003f3f00004040;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00003f3f00004040;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00003f3f0000400d;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00003f3f0000400d;
+  __m256i_out = __lasx_xvabsd_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000064;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffff88;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000064;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000000000f0;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000064;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffe98;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000064;
+  __m256i_out = __lasx_xvabsd_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvabsd_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x001fffffffe00000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x001fffffffe00000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7f80ffffff808000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7f80ffffff808000;
+  *((unsigned long *)&__m256i_result[3]) = 0x001fffffffe00000;
+  *((unsigned long *)&__m256i_result[2]) = 0x007f0000007f7fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x001fffffffe00000;
+  *((unsigned long *)&__m256i_result[0]) = 0x007f0000007f7fff;
+  __m256i_out = __lasx_xvabsd_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavg-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavg-1.c
new file mode 100644
index 00000000000..5ce31ebbdc8
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavg-1.c
@@ -0,0 +1,680 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 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;
+  *((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_xvavg_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000001f;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000001f;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000001f;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000001f;
+  __m256i_out = __lasx_xvavg_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000fffffffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000fffffffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000100da000100fd;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0001ffe20001fefd;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0001009a000100fd;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0001ff640001fefd;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000edff00fffd;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000fff10000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000cdff00fffd;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ff320000ffff;
+  __m256i_out = __lasx_xvavg_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffefefeff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff295329;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffefefeff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff295329;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00fe01f000010000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000c40086;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00fe01f000010000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000c40086;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffe00f7ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffffff629d7;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffe00f7ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffffff629d7;
+  __m256i_out = __lasx_xvavg_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xa020202020202020;
+  *((unsigned long *)&__m256i_op0[2]) = 0xa020202020206431;
+  *((unsigned long *)&__m256i_op0[1]) = 0xa020202020202020;
+  *((unsigned long *)&__m256i_op0[0]) = 0xa020202020206431;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xd010101010101010;
+  *((unsigned long *)&__m256i_result[2]) = 0xd010101010103218;
+  *((unsigned long *)&__m256i_result[1]) = 0xd010101010101010;
+  *((unsigned long *)&__m256i_result[0]) = 0xd010101010103218;
+  __m256i_out = __lasx_xvavg_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavg_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00000000;
+  __m256i_out = __lasx_xvavg_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000800200027;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000800200028;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000800200027;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000800000008;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000400100013;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000400100014;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000400100013;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000400000004;
+  __m256i_out = __lasx_xvavg_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfffffefffffffeff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffefffffffeff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffefffffffeff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffefffffffeff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvavg_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00010003;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0080000200000002;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff00010003;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff00010002;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0080000200000002;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff00010002;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00010002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0080000200000002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00010002;
+  __m256i_out = __lasx_xvavg_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0010001000100010;
+  *((unsigned long *)&__m256i_result[3]) = 0x0008000800080008;
+  *((unsigned long *)&__m256i_result[2]) = 0x0008000800080008;
+  *((unsigned long *)&__m256i_result[1]) = 0x0008000800080008;
+  *((unsigned long *)&__m256i_result[0]) = 0x0008000800080008;
+  __m256i_out = __lasx_xvavg_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op0[2]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op0[1]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op0[0]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[2]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[1]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[0]) = 0x2020202020202020;
+  __m256i_out = __lasx_xvavg_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000007;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000007;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_op1[2]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_op1[1]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_op1[0]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[3]) = 0x1010101010101013;
+  *((unsigned long *)&__m256i_result[2]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_result[1]) = 0x1010101010101013;
+  *((unsigned long *)&__m256i_result[0]) = 0x1010101010101010;
+  __m256i_out = __lasx_xvavg_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvavg_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000006170;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000006170;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000030b8;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000030b8;
+  __m256i_out = __lasx_xvavg_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_op1[3]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_result[3]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_result[2]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_result[1]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_result[0]) = 0x0202010202020102;
+  __m256i_out = __lasx_xvavg_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+  __m256i_out = __lasx_xvavg_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000001010100;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000405;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000001010100;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000405;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000800080;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000202;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000800080;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000202;
+  __m256i_out = __lasx_xvavg_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000001000000010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000001000000010;
+  __m256i_out = __lasx_xvavg_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavg_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000a000a000a000a;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000a000a000a000a;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000a000a000a000a;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000a000a000a000a;
+  *((unsigned long *)&__m256i_result[3]) = 0x0004000400040004;
+  *((unsigned long *)&__m256i_result[2]) = 0x0004000500040005;
+  *((unsigned long *)&__m256i_result[1]) = 0x0004000400040004;
+  *((unsigned long *)&__m256i_result[0]) = 0x0004000500040005;
+  __m256i_out = __lasx_xvavg_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x8b1414140e0e0e0e;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00d6c1c830160048;
+  *((unsigned long *)&__m256i_op1[1]) = 0x36722a7e66972cd6;
+  *((unsigned long *)&__m256i_op1[0]) = 0xe3aebaf4df958004;
+  *((unsigned long *)&__m256i_result[3]) = 0xc58a0a0a07070706;
+  *((unsigned long *)&__m256i_result[2]) = 0x006b60e4180b0023;
+  *((unsigned long *)&__m256i_result[1]) = 0x1b39153f334b966a;
+  *((unsigned long *)&__m256i_result[0]) = 0xf1d75d79efcac002;
+  __m256i_out = __lasx_xvavg_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+  *((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_xvavg_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavg_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavg_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavg_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00007fff00007fff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00007fff00007fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00007fff00007fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00007fff00007fff;
+  __m256i_out = __lasx_xvavg_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavg_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffe00000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffe00000000000;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffff00000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffff00000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvavg_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavg_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x007fffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x007fffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x003fffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x003fffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvavg_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00007fff7fffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00007fff7fffffff;
+  __m256i_out = __lasx_xvavg_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavg_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0080808080808080;
+  *((unsigned long *)&__m256i_result[2]) = 0x0080808080808080;
+  *((unsigned long *)&__m256i_result[1]) = 0x0080808100808080;
+  *((unsigned long *)&__m256i_result[0]) = 0x0080808000808080;
+  __m256i_out = __lasx_xvavg_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x1111111111111111;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1111111111111111;
+  *((unsigned long *)&__m256i_op0[1]) = 0x1111111111111111;
+  *((unsigned long *)&__m256i_op0[0]) = 0x1111111111111111;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0888888888888888;
+  *((unsigned long *)&__m256i_result[2]) = 0x0888888888888888;
+  *((unsigned long *)&__m256i_result[1]) = 0x0888888888888888;
+  *((unsigned long *)&__m256i_result[0]) = 0x0888888888888888;
+  __m256i_out = __lasx_xvavg_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvavg_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavg_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x4010000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x3e6ce7d9cb7afb62;
+  *((unsigned long *)&__m256i_op0[1]) = 0x4010000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x3e6ce7d9cb7afb62;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x2008000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x1f3673ece5bd7db1;
+  *((unsigned long *)&__m256i_result[1]) = 0x2008000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x1f3673ece5bd7db1;
+  __m256i_out = __lasx_xvavg_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvavg_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000400000003fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000400000003fff;
+  __m256i_out = __lasx_xvavg_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000040404000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000040404000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000020202000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000020202000;
+  __m256i_out = __lasx_xvavg_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfffffffffc01fc01;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000003fc03bbc;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffc01fc01;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000003fc03bbc;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffffe00fe00;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000001fe01dde;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffffe00fe00;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000001fe01dde;
+  __m256i_out = __lasx_xvavg_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000100080;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000100080;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000080040;
+  __m256i_out = __lasx_xvavg_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0040000000000003;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0040000000000003;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_result[3]) = 0x0020000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0020000000000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+  __m256i_out = __lasx_xvavg_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavg-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavg-2.c
new file mode 100644
index 00000000000..d04e4275369
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavg-2.c
@@ -0,0 +1,560 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x1d1d1d1d1d1d1d1d;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1d1d1d1d1d1d1d1d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x61d849f0c0794ced;
+  *((unsigned long *)&__m256i_op0[0]) = 0xe75278c187b20039;
+  *((unsigned long *)&__m256i_op1[3]) = 0xf90c0c0c00000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0ca40c0c0c0c0cc0;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0c0c0c0c0cb60cc0;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfbe0b80c960c96d0;
+  *((unsigned long *)&__m256i_result[3]) = 0x8b1414140e0e0e0e;
+  *((unsigned long *)&__m256i_result[2]) = 0x146014141414146e;
+  *((unsigned long *)&__m256i_result[1]) = 0x36722a7e66972cd6;
+  *((unsigned long *)&__m256i_result[0]) = 0xf19998668e5f4b84;
+  __m256i_out = __lasx_xvavg_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000ffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ff00fff0;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000007f7f;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000007f7f7f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000007f7f;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007f007f78;
+  __m256i_out = __lasx_xvavg_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavg_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff02ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffffffff0100;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff00fefffeff02ff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00030006fa05f20e;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00030081bd80f90e;
+  *((unsigned long *)&__m256i_result[3]) = 0x00007f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_result[2]) = 0x00010003fc827a86;
+  *((unsigned long *)&__m256i_result[1]) = 0x00007f7f7f7f0000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7f017fc0ddbf7d86;
+  __m256i_out = __lasx_xvavg_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101000101010001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101000101010001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101000101010001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101000101010001;
+  __m256i_out = __lasx_xvavg_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvavg_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00ffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00ffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x007f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_result[2]) = 0x7f7f7f7f00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x007f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_result[0]) = 0x7f7f7f7f00000000;
+  __m256i_out = __lasx_xvavg_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000007f00000022;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000007f00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000003f00000011;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000003f00000000;
+  __m256i_out = __lasx_xvavg_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x3fff3fff3fff3fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x3fff3fff3fff3fff;
+  __m256i_out = __lasx_xvavg_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff7fff7fff;
+  __m256i_out = __lasx_xvavg_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffbfffafffffffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffff0000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffbfffaffff0000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00fe01fc01fe01fc;
+  *((unsigned long *)&__m256i_op1[2]) = 0x012c002c001c0006;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00fe01fc01fe0000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x012c002c001c000a;
+  *((unsigned long *)&__m256i_result[3]) = 0x807e80fd80fe80fd;
+  *((unsigned long *)&__m256i_result[2]) = 0x80938013800d8002;
+  *((unsigned long *)&__m256i_result[1]) = 0x807e80fd80fe0000;
+  *((unsigned long *)&__m256i_result[0]) = 0x80938013800d0005;
+  __m256i_out = __lasx_xvavg_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavg_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0002000200020002;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000800080008000;
+  __m256i_out = __lasx_xvavg_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007fff7fff;
+  __m256i_out = __lasx_xvavg_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ff810011;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ff810011;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x3fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[2]) = 0x3fff7fffffc08008;
+  *((unsigned long *)&__m256i_result[1]) = 0x3fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x3fff7fffffc08008;
+  __m256i_out = __lasx_xvavg_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x80000000ff800000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x80000000ff800000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x800000007fff0001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x80000000ff7f0001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x800000007fff0001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x80000000ff7f0001;
+  *((unsigned long *)&__m256i_result[3]) = 0x800000007fff0000;
+  *((unsigned long *)&__m256i_result[2]) = 0x80000000ff7f0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x800000007fff0000;
+  *((unsigned long *)&__m256i_result[0]) = 0x80000000ff7f0000;
+  __m256i_out = __lasx_xvavg_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffc6ffc6003a003a;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffff0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffc6ffc6003a003a;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffff0000;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fe37fe3001d001d;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7fff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fe37fe3001d001d;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff7fff0000;
+  __m256i_out = __lasx_xvavg_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000004;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000004;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000004;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000004;
+  __m256i_out = __lasx_xvavg_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000fc38fc38;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfc00000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000fc38fc38;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfc00000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000007e1c7e1c;
+  *((unsigned long *)&__m256i_result[2]) = 0x7e00000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000007e1c7e1c;
+  *((unsigned long *)&__m256i_result[0]) = 0x7e00000000000000;
+  __m256i_out = __lasx_xvavg_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000fffe00800022;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000fffe00800022;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000003ffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00007fff00400011;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000008001ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00007fff00400011;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007fff7fff;
+  __m256i_out = __lasx_xvavg_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavg_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavg_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0a09080706050403;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0a09080706050403;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0504840303028201;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0504840303028201;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvavg_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000200;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000200;
+  __m256i_out = __lasx_xvavg_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000005000000020;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000005000000020;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000002800000010;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000002800000010;
+  __m256i_out = __lasx_xvavg_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x40efffe000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x40efffe000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xff00fe00feff02ff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xff00fe00feff02ff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xff00fe00feff02ff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff00fe00feff02ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x9ff87ef07f7f817f;
+  *((unsigned long *)&__m256i_result[2]) = 0x7f807f007f7f817f;
+  *((unsigned long *)&__m256i_result[1]) = 0x9ff87ef07f7f817f;
+  *((unsigned long *)&__m256i_result[0]) = 0x7f807f007f7f817f;
+  __m256i_out = __lasx_xvavg_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x111ebb784f9c4100;
+  *((unsigned long *)&__m256i_op1[2]) = 0x1c386546809f3b50;
+  *((unsigned long *)&__m256i_op1[1]) = 0x111ebb784f9bf1ac;
+  *((unsigned long *)&__m256i_op1[0]) = 0x21f6050d955d3f68;
+  *((unsigned long *)&__m256i_result[3]) = 0x088f5dbc27ce2080;
+  *((unsigned long *)&__m256i_result[2]) = 0x161c32a2c04f9da7;
+  *((unsigned long *)&__m256i_result[1]) = 0x088f5dbc27cdf8d6;
+  *((unsigned long *)&__m256i_result[0]) = 0x10fb02864aae9fb4;
+  __m256i_out = __lasx_xvavg_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffefffefffeffee;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffe0000fffe0012;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffefffefffeffee;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffe0000fffe0012;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffefffefffeffee;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffe0000fffe0012;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffefffefffeffee;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffe0000fffe0012;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffefffefffeffee;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffe0000fffe0012;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffefffefffeffee;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffe0000fffe0012;
+  __m256i_out = __lasx_xvavg_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000001;
+  *((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_xvavg_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvavg_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000800080008000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000800080008000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000800080008000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000800080008000;
+  __m256i_out = __lasx_xvavg_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000004444;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00007bbb0000f777;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000004444;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00007bbb0000f777;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000002222;
+  *((unsigned long *)&__m256i_result[2]) = 0x00003ddd80007bbb;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000002222;
+  *((unsigned long *)&__m256i_result[0]) = 0x00003ddd80007bbb;
+  __m256i_out = __lasx_xvavg_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000000000000f0f0;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000f0f0;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000007878;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000007878;
+  __m256i_out = __lasx_xvavg_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((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_xvavg_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavg_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000001e00000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000f00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvavg_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavgr-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavgr-1.c
new file mode 100644
index 00000000000..37b78aa1b08
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavgr-1.c
@@ -0,0 +1,770 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x5555555536aaaaac;
+  *((unsigned long *)&__m256i_op0[2]) = 0x55555555aaaaaaac;
+  *((unsigned long *)&__m256i_op0[1]) = 0x5555555536aaaaac;
+  *((unsigned long *)&__m256i_op0[0]) = 0x55555555aaaaaaac;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffff39ffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffff39ffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x2b2b2b2b1bd5d5d6;
+  *((unsigned long *)&__m256i_result[2]) = 0x2a2a2a2af2d5d5d6;
+  *((unsigned long *)&__m256i_result[1]) = 0x2b2b2b2b1bd5d5d6;
+  *((unsigned long *)&__m256i_result[0]) = 0x2a2a2a2af2d5d5d6;
+  __m256i_out = __lasx_xvavgr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000000000c0;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000000c0;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000000c0;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000000c0;
+  __m256i_out = __lasx_xvavgr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0020002000400040;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0020002000400040;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0020002000400040;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0020002000400040;
+  *((unsigned long *)&__m256i_result[3]) = 0x0010001000200020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0010001000200020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0010001000200020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0010001000200020;
+  __m256i_out = __lasx_xvavgr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffffe;
+  *((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_xvavgr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvavgr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x7fe36364661af18f;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fe363637fe36363;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fe36364661af18f;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fe363637fe36363;
+  *((unsigned long *)&__m256i_result[3]) = 0x40f23232330df9c8;
+  *((unsigned long *)&__m256i_result[2]) = 0x40f2323240f23232;
+  *((unsigned long *)&__m256i_result[1]) = 0x40f23232330df9c8;
+  *((unsigned long *)&__m256i_result[0]) = 0x40f2323240f23232;
+  __m256i_out = __lasx_xvavgr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0001000100800000;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001000100c00000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvavgr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfff0ff000000000f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000f00f000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfff0ff000000000f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000f00f000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00f8000000000008;
+  *((unsigned long *)&__m256i_result[2]) = 0x000800f800000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00f8000000000008;
+  *((unsigned long *)&__m256i_result[0]) = 0x000800f800000000;
+  __m256i_out = __lasx_xvavgr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x00000000090b0906;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000000d6d6d;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000005060503;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000073737;
+  __m256i_out = __lasx_xvavgr_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xdff8000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xdff8000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xdff8000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xdff8000000000000;
+  __m256i_out = __lasx_xvavgr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xfffffefefffffefe;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffefefffffefe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ff7f0000ff7f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ff7f0000ff7f;
+  __m256i_out = __lasx_xvavgr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x4000000000000000;
+  __m256i_out = __lasx_xvavgr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000fd0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000fd0000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000007f0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000007f0000;
+  __m256i_out = __lasx_xvavgr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xbf00bf00bf00bf00;
+  *((unsigned long *)&__m256i_op0[2]) = 0xbf84bf00bf00bf0e;
+  *((unsigned long *)&__m256i_op0[1]) = 0xbf00bf00bf00bf00;
+  *((unsigned long *)&__m256i_op0[0]) = 0xbf84bf00bf00bf0e;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xdf80df80df80df80;
+  *((unsigned long *)&__m256i_result[2]) = 0xdfc2df80df80df87;
+  *((unsigned long *)&__m256i_result[1]) = 0xdf80df80df80df80;
+  *((unsigned long *)&__m256i_result[0]) = 0xdfc2df80df80df87;
+  __m256i_out = __lasx_xvavgr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xbf00bf00bf00bf00;
+  *((unsigned long *)&__m256i_op0[2]) = 0xbf84bf00bf00bf0e;
+  *((unsigned long *)&__m256i_op0[1]) = 0xbf00bf00bf00bf00;
+  *((unsigned long *)&__m256i_op0[0]) = 0xbf84bf00bf00bf0e;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00003f3f00003f3f;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00003f3f00004040;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00003f3f00003f3f;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00003f3f00004040;
+  *((unsigned long *)&__m256i_result[3]) = 0xdf80ff20df80ff20;
+  *((unsigned long *)&__m256i_result[2]) = 0xdfc2ff20df80ffa7;
+  *((unsigned long *)&__m256i_result[1]) = 0xdf80ff20df80ff20;
+  *((unsigned long *)&__m256i_result[0]) = 0xdfc2ff20df80ffa7;
+  __m256i_out = __lasx_xvavgr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000080000009;
+  *((unsigned long *)&__m256i_op0[2]) = 0x43ef878780000009;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000080000009;
+  *((unsigned long *)&__m256i_op0[0]) = 0x43ef878780000009;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000c0000005;
+  *((unsigned long *)&__m256i_result[2]) = 0x21f8c3c4c0000005;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000c0000005;
+  *((unsigned long *)&__m256i_result[0]) = 0x21f8c3c4c0000005;
+  __m256i_out = __lasx_xvavgr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x9090909090909090;
+  *((unsigned long *)&__m256i_op0[2]) = 0x9090909090909090;
+  *((unsigned long *)&__m256i_op0[1]) = 0x9090909090909090;
+  *((unsigned long *)&__m256i_op0[0]) = 0x9090909090909090;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xc848c848c848c848;
+  *((unsigned long *)&__m256i_result[2]) = 0x8848c848c848c848;
+  *((unsigned long *)&__m256i_result[1]) = 0xc848c848c848c848;
+  *((unsigned long *)&__m256i_result[0]) = 0x8848c848c848c848;
+  __m256i_out = __lasx_xvavgr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffff0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffff0000;
+  *((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_xvavgr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fff80007fff0000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fff80007fff0000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000ff800000ff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000ff800000ff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000ff800000ff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000ff800000ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x4000c08000000080;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000080c000c080;
+  *((unsigned long *)&__m256i_result[1]) = 0x4000c08000000080;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000080c000c080;
+  __m256i_out = __lasx_xvavgr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x3fffffff3fffc000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x3fffffff3fffc000;
+  __m256i_out = __lasx_xvavgr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x007fffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x007fffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x003fffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x003fffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvavgr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x003fffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x003fffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x001fffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x001fffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvavgr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000007ffffffce;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000007ffffffce;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000007ffffffce;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000007ffffffce;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000007ffffffce;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000007ffffffce;
+  __m256i_out = __lasx_xvavgr_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000001010101;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000001010101;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000001010101;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000001010101;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000808081;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000808081;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000808081;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000808081;
+  __m256i_out = __lasx_xvavgr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000f18080010000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000f18080010000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000078c0c0008000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x000078c0c0008000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvavgr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfebdff3eff3dff52;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfebdff3eff3dff52;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfebdff3eff3dff52;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfebdff3eff3dff52;
+  *((unsigned long *)&__m256i_op1[3]) = 0x1086658a18ba3594;
+  *((unsigned long *)&__m256i_op1[2]) = 0x160fe9f000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x1086658a18ba3594;
+  *((unsigned long *)&__m256i_op1[0]) = 0x160fe9f000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x07a232640bfc1a73;
+  *((unsigned long *)&__m256i_result[2]) = 0x0a66f497ff9effa9;
+  *((unsigned long *)&__m256i_result[1]) = 0x07a232640bfc1a73;
+  *((unsigned long *)&__m256i_result[0]) = 0x0a66f497ff9effa9;
+  __m256i_out = __lasx_xvavgr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffefefeff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff295329;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffefefeff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff295329;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00fe01f000010000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000c40086;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00fe01f000010000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000c40086;
+  *((unsigned long *)&__m256i_result[3]) = 0x007f00f8ff7fff80;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000fff6a9d8;
+  *((unsigned long *)&__m256i_result[1]) = 0x007f00f8ff7fff80;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000fff6a9d8;
+  __m256i_out = __lasx_xvavgr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7ffe7ffe7ffe7ffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000007ffe7ffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7ffe7ffe7ffe8000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000807e7ffe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7ffe7ffe7ffe7ffe;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000007ffe7ffe;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7ffe7ffe7ffe8000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000807e7ffe;
+  *((unsigned long *)&__m256i_result[3]) = 0x7ffe7ffe7ffe7ffe;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007ffe7ffe;
+  *((unsigned long *)&__m256i_result[1]) = 0x7ffe7ffe7ffe8000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000807e7ffe;
+  __m256i_out = __lasx_xvavgr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00fe00fe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff00fe00fe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00fe00fe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00fe00fe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x007f8080007f007f;
+  *((unsigned long *)&__m256i_result[2]) = 0x007f8080007f007f;
+  *((unsigned long *)&__m256i_result[1]) = 0x007f8080007f007f;
+  *((unsigned long *)&__m256i_result[0]) = 0x007f8080007f007f;
+  __m256i_out = __lasx_xvavgr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffc6ffc6003a003a;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffff0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffc6ffc6003a003a;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffff0000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffe37fe3001d001d;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff8000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffe37fe3001d001d;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffff8000;
+  __m256i_out = __lasx_xvavgr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000f00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000700000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvavgr_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000101;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000081;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvavgr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000004a00000040;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000004a0000002a;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000004a00000040;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000004a0000002a;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000fffffffefffe;
+  *((unsigned long *)&__m256i_op1[1]) = 0xff7fffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000fffffffefffe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000002500000020;
+  *((unsigned long *)&__m256i_result[2]) = 0x00008024ffff8014;
+  *((unsigned long *)&__m256i_result[1]) = 0xffc0002500000020;
+  *((unsigned long *)&__m256i_result[0]) = 0x00008024ffff8014;
+  __m256i_out = __lasx_xvavgr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvavgr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000001a00;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000001a00;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000001a00;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000001a00;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000001a00;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000001a00;
+  __m256i_out = __lasx_xvavgr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000023a20000a121;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000179e0000951d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000023a20000a121;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000179e0000951d;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000010000000100;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000010000000100;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000010000000100;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000010000000100;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000125100005111;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000c4f00004b0f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000125100005111;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000c4f00004b0f;
+  __m256i_out = __lasx_xvavgr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0001000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000100010001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0001000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000100010001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000800000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000080008001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000800000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000080008001;
+  __m256i_out = __lasx_xvavgr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000457d607d;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff457d607f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000457d607d;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff457d607f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000022beb03f;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffa2beb040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000022beb03f;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffa2beb040;
+  __m256i_out = __lasx_xvavgr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvavgr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_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_xvavgr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000005858585a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000005858585a;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000005858585a;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000005858585a;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000023a300003fff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000023a300003fef;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000023a300003fff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000023a300003fef;
+  *((unsigned long *)&__m256i_result[3]) = 0x000011d1ac2c4c2d;
+  *((unsigned long *)&__m256i_result[2]) = 0x000011d1ac2c4c25;
+  *((unsigned long *)&__m256i_result[1]) = 0x000011d1ac2c4c2d;
+  *((unsigned long *)&__m256i_result[0]) = 0x000011d1ac2c4c25;
+  __m256i_out = __lasx_xvavgr_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavgr-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavgr-2.c
new file mode 100644
index 00000000000..3944a6ac064
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavgr-2.c
@@ -0,0 +1,650 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_result[2]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_result[1]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_result[0]) = 0x8080808080808080;
+  __m256i_out = __lasx_xvavgr_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((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_xvavgr_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_result[2]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_result[1]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_result[0]) = 0x8080808080808080;
+  __m256i_out = __lasx_xvavgr_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000018803100188;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000018803100188;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000014402080144;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000014402080144;
+  __m256i_out = __lasx_xvavgr_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000086fe0000403e;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000403e00004040;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000086fe0000403e;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000403e00004040;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000437f0000201f;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000201f00002020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000437f0000201f;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000201f00002020;
+  __m256i_out = __lasx_xvavgr_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0fffffff0fffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x90007fff90008000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0ffffffe90008000;
+  *((unsigned long *)&__m256i_result[3]) = 0x87ffffff87ffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xc880bfffc880c080;
+  *((unsigned long *)&__m256i_result[1]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_result[0]) = 0x87ffffffc880c080;
+  __m256i_out = __lasx_xvavgr_bu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00fe01f000010000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000c40086;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00fe01f000010000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000c40086;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000082a54290;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000028aa700;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000082a54290;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000002a54287;
+  *((unsigned long *)&__m256i_result[3]) = 0x007f00f841532148;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000001a753c3;
+  *((unsigned long *)&__m256i_result[1]) = 0x007f00f841532148;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000001b52187;
+  __m256i_out = __lasx_xvavgr_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000004444;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00007bbb0000f777;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000004444;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00007bbb0000f777;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000002222;
+  *((unsigned long *)&__m256i_result[2]) = 0x00003dde00007bbc;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000002222;
+  *((unsigned long *)&__m256i_result[0]) = 0x00003dde00007bbc;
+  __m256i_out = __lasx_xvavgr_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x9ff87ef07f7f817f;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7f807f007f7f817f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x9ff87ef07f7f817f;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7f807f007f7f817f;
+  *((unsigned long *)&__m256i_result[3]) = 0x4ffc3f783fc040c0;
+  *((unsigned long *)&__m256i_result[2]) = 0x3fc03f803fc040c0;
+  *((unsigned long *)&__m256i_result[1]) = 0x4ffc3f783fc040c0;
+  *((unsigned long *)&__m256i_result[0]) = 0x3fc03f803fc040c0;
+  __m256i_out = __lasx_xvavgr_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0505070804040404;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0504070804040404;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0505070804040404;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0504070804040404;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0283038402020202;
+  *((unsigned long *)&__m256i_result[2]) = 0x0282038402020202;
+  *((unsigned long *)&__m256i_result[1]) = 0x0283038402020202;
+  *((unsigned long *)&__m256i_result[0]) = 0x0282038402020202;
+  __m256i_out = __lasx_xvavgr_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x1010101010001000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x101010100000000e;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[3]) = 0x0889088908810881;
+  *((unsigned long *)&__m256i_result[2]) = 0x0081010000810100;
+  *((unsigned long *)&__m256i_result[1]) = 0x0889088900810088;
+  *((unsigned long *)&__m256i_result[0]) = 0x0081010000810100;
+  __m256i_out = __lasx_xvavgr_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7c00000880008000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7c00000880008000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000001d001d;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000080008000;
+  *((unsigned long *)&__m256i_result[2]) = 0x3e00000440004000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000080008000;
+  *((unsigned long *)&__m256i_result[0]) = 0x3e000004400f400f;
+  __m256i_out = __lasx_xvavgr_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0100000001000100;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0100000001000100;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7575757575757575;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7575757575757575;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x3abb3abbbabababa;
+  *((unsigned long *)&__m256i_result[2]) = 0x0080000000800080;
+  *((unsigned long *)&__m256i_result[1]) = 0x3abb3abbbabababa;
+  *((unsigned long *)&__m256i_result[0]) = 0x0080000000800080;
+  __m256i_out = __lasx_xvavgr_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000ff;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvavgr_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xc0008000c0008000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xc0008000c0008000;
+  __m256i_out = __lasx_xvavgr_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_hu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffe000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00010000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001000100020001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000fffffffffffe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x8b1414140e0e0e0e;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00d6c1c830160048;
+  *((unsigned long *)&__m256i_op1[1]) = 0x36722a7e66972cd6;
+  *((unsigned long *)&__m256i_op1[0]) = 0xe3aebaf4df958004;
+  *((unsigned long *)&__m256i_result[3]) = 0xc5890a0a07070707;
+  *((unsigned long *)&__m256i_result[2]) = 0x006be0e4180b8024;
+  *((unsigned long *)&__m256i_result[1]) = 0x1b399540334c966c;
+  *((unsigned long *)&__m256i_result[0]) = 0x71d7dd7aefcac001;
+  __m256i_out = __lasx_xvavgr_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000808080;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000080404040;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
+  __m256i_out = __lasx_xvavgr_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0007000700070007;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0007000700070007;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0007000700070007;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0007000700070007;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000e000e000e000e;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000e000e000e000e;
+  *((unsigned long *)&__m256i_result[3]) = 0x0003800400038004;
+  *((unsigned long *)&__m256i_result[2]) = 0x000a800b000a800b;
+  *((unsigned long *)&__m256i_result[1]) = 0x0003800400038004;
+  *((unsigned long *)&__m256i_result[0]) = 0x000a800b000a800b;
+  __m256i_out = __lasx_xvavgr_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00f9f9f900000002;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00f9f9f900000002;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x007cfcfd80000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x007cfcfd80000001;
+  __m256i_out = __lasx_xvavgr_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffff8001ffff8001;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffff8001ffff8001;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fff800000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffc0017fffc001;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fff800000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffc0017fffc001;
+  __m256i_out = __lasx_xvavgr_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0080000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0080000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000000000a;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000000a;
+  *((unsigned long *)&__m256i_result[3]) = 0x0040000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000005;
+  *((unsigned long *)&__m256i_result[1]) = 0x0040000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000005;
+  __m256i_out = __lasx_xvavgr_wu (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_op1[3]) = 0x000000000501e99b;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000109973de7;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000001020f22;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000001890b7a39;
+  *((unsigned long *)&__m256i_result[3]) = 0x1b974ebaf6d64d4e;
+  *((unsigned long *)&__m256i_result[2]) = 0x62e0429c1b48fed1;
+  *((unsigned long *)&__m256i_result[1]) = 0x18b985adf63f548c;
+  *((unsigned long *)&__m256i_result[0]) = 0x032c796ecbdecc3b;
+  __m256i_out = __lasx_xvavgr_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xc600000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xc600000000000000;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x6300000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x6300000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvavgr_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x3a2a3a2a3a2a3a2a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x3a2a3a2a3aaa45aa;
+  *((unsigned long *)&__m256i_op0[1]) = 0x3a553f7f7a2a3a2a;
+  *((unsigned long *)&__m256i_op0[0]) = 0x3a2a3a2a3aaa45aa;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff017e01fe;
+  *((unsigned long *)&__m256i_op1[1]) = 0x017e00ff017e00ff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff017e01fe;
+  *((unsigned long *)&__m256i_result[3]) = 0x1d949d949d949d95;
+  *((unsigned long *)&__m256i_result[2]) = 0x1d949d949e1423d4;
+  *((unsigned long *)&__m256i_result[1]) = 0x1de9a03f3dd41d95;
+  *((unsigned long *)&__m256i_result[0]) = 0x1d949d949e1423d4;
+  __m256i_out = __lasx_xvavgr_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000083f95466;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0101010100005400;
+  *((unsigned long *)&__m256i_op1[3]) = 0x001e001ea1bfa1bf;
+  *((unsigned long *)&__m256i_op1[2]) = 0x001e001e83e5422e;
+  *((unsigned long *)&__m256i_op1[1]) = 0x001e001ea1bfa1bf;
+  *((unsigned long *)&__m256i_op1[0]) = 0x011f011f0244420e;
+  *((unsigned long *)&__m256i_result[3]) = 0x000f000fd0dfd0df;
+  *((unsigned long *)&__m256i_result[2]) = 0x000f000f83ef4b4a;
+  *((unsigned long *)&__m256i_result[1]) = 0x000f000fd0dfd0df;
+  *((unsigned long *)&__m256i_result[0]) = 0x0110011001224b07;
+  __m256i_out = __lasx_xvavgr_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000030000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000030000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000018002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000018002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000002;
+  __m256i_out = __lasx_xvavgr_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x223d76f09f3881ff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x3870ca8d013e76a0;
+  *((unsigned long *)&__m256i_op1[1]) = 0x223d76f09f37e357;
+  *((unsigned long *)&__m256i_op1[0]) = 0x43ec0a1b2aba7ed0;
+  *((unsigned long *)&__m256i_result[3]) = 0x111ebb784f9c4100;
+  *((unsigned long *)&__m256i_result[2]) = 0x1c386546809f3b50;
+  *((unsigned long *)&__m256i_result[1]) = 0x111ebb784f9bf1ac;
+  *((unsigned long *)&__m256i_result[0]) = 0x21f6050d955d3f68;
+  __m256i_out = __lasx_xvavgr_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvavgr_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x0000840100000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xbffebffec0fe0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000840100000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xbffebffec0fe0000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000420080000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x5fff5fff607f0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000420080000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x5fff5fff607f0000;
+  __m256i_out = __lasx_xvavgr_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+  *((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_xvavgr_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000457d607d;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff457d607f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000457d607d;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff457d607f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000022beb03f;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffffa2beb040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000022beb03f;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffffffa2beb040;
+  __m256i_out = __lasx_xvavgr_du (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbsll_v.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbsll_v.c
new file mode 100644
index 00000000000..3c1a8b8e61c
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbsll_v.c
@@ -0,0 +1,130 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x555555553f800000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x555555553f800000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00555555553f8000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00555555553f8000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbsll_v (__m256i_op0, 0x17);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbsll_v (__m256i_op0, 0x1d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbsll_v (__m256i_op0, 0x1b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000030000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000030000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbsll_v (__m256i_op0, 0x1a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_result[3]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[2]) = 0x2020643100000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[0]) = 0x2020643100000000;
+  __m256i_out = __lasx_xvbsll_v (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000050504c4c2362;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000b2673a90896a4;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000050504c4c2362;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000b2673a90896a4;
+  *((unsigned long *)&__m256i_result[3]) = 0xa90896a400000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xa90896a400000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbsll_v (__m256i_op0, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x003f003f003f0040;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x003f003f003f0040;
+  *((unsigned long *)&__m256i_result[3]) = 0x00003f003f003f00;
+  *((unsigned long *)&__m256i_result[2]) = 0x4000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00003f003f003f00;
+  *((unsigned long *)&__m256i_result[0]) = 0x4000000000000000;
+  __m256i_out = __lasx_xvbsll_v (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbsll_v (__m256i_op0, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbsll_v (__m256i_op0, 0x10);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbsll_v (__m256i_op0, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbsrl_v.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbsrl_v.c
new file mode 100644
index 00000000000..340f7691b69
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbsrl_v.c
@@ -0,0 +1,64 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x0000000007d0d0d0;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000007d0d0d0;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000007d0d0d00000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000007d0d0d00000;
+  __m256i_out = __lasx_xvbsrl_v (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000001fffffffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000001fffffffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000001fffffffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000001fffffffe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x01fffffffe000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x01fffffffe000000;
+  __m256i_out = __lasx_xvbsrl_v (__m256i_op0, 0x15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000018803100188;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000018803100188;
+  *((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_xvbsrl_v (__m256i_op0, 0x15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvbsrl_v (__m256i_op0, 0x1b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvneg.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvneg.c
new file mode 100644
index 00000000000..3cd1626d419
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvneg.c
@@ -0,0 +1,526 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x002e4db200000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000315ac0000d658;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00735278007cf94c;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0003ed8800031b38;
+  *((unsigned long *)&__m256i_result[3]) = 0xffd1b24e00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffcea54ffff29a8;
+  *((unsigned long *)&__m256i_result[1]) = 0xff8cad88ff8306b4;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffc1278fffce4c8;
+  __m256i_out = __lasx_xvneg_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000ffff8000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x06f880008000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x800080008000b8f1;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000010180000101;
+  *((unsigned long *)&__m256i_result[2]) = 0xfa08800080000101;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_result[0]) = 0x800080008000480f;
+  __m256i_out = __lasx_xvneg_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+  __m256i_out = __lasx_xvneg_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffefffffefc;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010101010102;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010201010204;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010101010102;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010102;
+  __m256i_out = __lasx_xvneg_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffefd;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101010203;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvneg_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff8c80;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000fff0e400;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000007380;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000f1c00;
+  __m256i_out = __lasx_xvneg_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((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_xvneg_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000800000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000800000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000800000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000800000000000;
+  __m256i_out = __lasx_xvneg_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000100000000;
+  __m256i_out = __lasx_xvneg_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x007f00ff007f00ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x007f00ff007f00ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x007f00ff007f00ff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x007f00ff007f00ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0081000100810001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0081000100810001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0081000100810001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0081000100810001;
+  __m256i_out = __lasx_xvneg_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+  __m256i_out = __lasx_xvneg_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x223d76f09f3881ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x3870ca8d013e76a0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x223d76f09f37e357;
+  *((unsigned long *)&__m256i_op0[0]) = 0x43ec0a1b2aba7ed0;
+  *((unsigned long *)&__m256i_result[3]) = 0xdec38a1061c87f01;
+  *((unsigned long *)&__m256i_result[2]) = 0xc8903673ffc28a60;
+  *((unsigned long *)&__m256i_result[1]) = 0xdec38a1061c91da9;
+  *((unsigned long *)&__m256i_result[0]) = 0xbd14f6e5d6468230;
+  __m256i_out = __lasx_xvneg_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000007e8080;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000001fdda7dc4;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000007e8080;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000001fdda7dc4;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ff827f80;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0226823c;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ff827f80;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0226823c;
+  __m256i_out = __lasx_xvneg_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000180000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000180000001;
+  __m256i_out = __lasx_xvneg_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000001;
+  __m256i_out = __lasx_xvneg_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000f000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000f000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xfff1000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xfff1000000000000;
+  __m256i_out = __lasx_xvneg_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff8000ffa3;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000008000165a;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff8000ffa3;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000008000165a;
+  *((unsigned long *)&__m256i_result[3]) = 0xffff00017fff005d;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007fffe9a6;
+  *((unsigned long *)&__m256i_result[1]) = 0xffff00017fff005d;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007fffe9a6;
+  __m256i_out = __lasx_xvneg_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0808080808080808;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xf7f7f7f7f7f7f7f8;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xf7f7f7f7f7f7f7f8;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000ffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000ffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffff0100000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffff0100000001;
+  __m256i_out = __lasx_xvneg_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0100010001000100;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0100004300000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0100010001000100;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0100004300000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256i_result[2]) = 0xff0000bd00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256i_result[0]) = 0xff0000bd00000000;
+  __m256i_out = __lasx_xvneg_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000010000080040;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000010000080040;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000fff8ffc0;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ff00fff8ffc0;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000fff8ffc0;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ff00fff8ffc0;
+  __m256i_out = __lasx_xvneg_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000010001;
+  __m256i_out = __lasx_xvneg_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000497fe0000080;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000683fe0000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000497fe0000080;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000683fe0000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffb6811fffff80;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff97c120000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffb6811fffff80;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff97c120000000;
+  __m256i_out = __lasx_xvneg_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfefefefefdfdfdfd;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfefefefefdfdfdfd;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0101010202020203;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010201010102;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010202020203;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010201010102;
+  __m256i_out = __lasx_xvneg_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000032;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000032;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffce;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffce;
+  __m256i_out = __lasx_xvneg_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvneg_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00007fde00007fd4;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00007fe000007fe0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00007fde00007fd4;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00007fe000007fe0;
+  *((unsigned long *)&__m256i_result[3]) = 0x000081220000812c;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000812000008120;
+  *((unsigned long *)&__m256i_result[1]) = 0x000081220000812c;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000812000008120;
+  __m256i_out = __lasx_xvneg_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000002780;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000002780;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffd880;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffd880;
+  __m256i_out = __lasx_xvneg_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsat-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsat-1.c
new file mode 100644
index 00000000000..b4ac50271f5
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsat-1.c
@@ -0,0 +1,537 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x8000800000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000800080000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xc9d8080067f50020;
+  *((unsigned long *)&__m256i_op0[0]) = 0xc70000020000c000;
+  *((unsigned long *)&__m256i_result[3]) = 0xf000f00000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000f000f0000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xf0f008000ff5000f;
+  *((unsigned long *)&__m256i_result[0]) = 0xf00000020000f000;
+  __m256i_out = __lasx_xvsat_b (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ff80;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000fff8;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_xvsat_b (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_b (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000e000e000e000e;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000e000e000e000e;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000e000e000e000e;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000e000e000e000e;
+  __m256i_out = __lasx_xvsat_b (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsat_b (__m256i_op0, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_b (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_b (__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00003fea00013fec;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00003fe50001c013;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00003fea00013fec;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00003fe50001c013;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000ff0000ff00;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000ff0000ff00;
+  __m256i_out = __lasx_xvsat_b (__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000399400003994;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000399400003994;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000399400003994;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000399400003994;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000fff00000fff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000fff00000fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000fff00000fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000fff00000fff;
+  __m256i_out = __lasx_xvsat_h (__m256i_op0, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsat_h (__m256i_op0, 0xa);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((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_xvsat_h (__m256i_op0, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfebdff3eff3dff52;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfebdff3eff3dff52;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfebdff3eff3dff52;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfebdff3eff3dff52;
+  *((unsigned long *)&__m256i_result[3]) = 0xffc0ffc0ffc0ffc0;
+  *((unsigned long *)&__m256i_result[2]) = 0xffc0ffc0ffc0ffc0;
+  *((unsigned long *)&__m256i_result[1]) = 0xffc0ffc0ffc0ffc0;
+  *((unsigned long *)&__m256i_result[0]) = 0xffc0ffc0ffc0ffc0;
+  __m256i_out = __lasx_xvsat_h (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_h (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_h (__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00002df900001700;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffe05ffffe911;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00002df900001700;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffe05ffffe911;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000300000003;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffcfffffffc;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000300000003;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffcfffffffc;
+  __m256i_out = __lasx_xvsat_h (__m256i_op0, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_h (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffff0001;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffdd97dc4;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffff0001;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffdd97dc4;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffff0001;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffffdd97dc4;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffff0001;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffffdd97dc4;
+  __m256i_out = __lasx_xvsat_h (__m256i_op0, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((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_xvsat_h (__m256i_op0, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000014402080144;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000014402080144;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000007f007f007f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000007f007f007f;
+  __m256i_out = __lasx_xvsat_h (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_h (__m256i_op0, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_h (__m256i_op0, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000ffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000ffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000003fffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000003fffff;
+  __m256i_out = __lasx_xvsat_h (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0002000200000022;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0049004200000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000007f00000022;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000007f00000000;
+  __m256i_out = __lasx_xvsat_w (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffefffffefd;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffefffffefd;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvsat_w (__m256i_op0, 0xa);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_w (__m256i_op0, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00c200c200c200c2;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00c200c200c200bb;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00c200c200c200c2;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00c200c200c200bb;
+  *((unsigned long *)&__m256i_result[3]) = 0x007fffff007fffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x007fffff007fffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x007fffff007fffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x007fffff007fffff;
+  __m256i_out = __lasx_xvsat_w (__m256i_op0, 0x17);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0020002000200020;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0020002000200020;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0001ffff0001ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001ffff0001ffff;
+  __m256i_out = __lasx_xvsat_w (__m256i_op0, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000080000001000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000080000000800;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000080000001000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000080000000800;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000f0000000f;
+  __m256i_out = __lasx_xvsat_w (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000050504c4c2362;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000b8f81b8c840e4;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000050504c4c2362;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000b8f81b8c840e4;
+  *((unsigned long *)&__m256i_result[3]) = 0x000007ff000007ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x000007fffffff800;
+  *((unsigned long *)&__m256i_result[1]) = 0x000007ff000007ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000007fffffff800;
+  __m256i_out = __lasx_xvsat_w (__m256i_op0, 0xb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_w (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_w (__m256i_op0, 0x12);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_w (__m256i_op0, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_w (__m256i_op0, 0x10);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_w (__m256i_op0, 0x13);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_w (__m256i_op0, 0xf);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x97541c5897541c58;
+  *((unsigned long *)&__m256i_op0[2]) = 0x97541c5897541c58;
+  *((unsigned long *)&__m256i_op0[1]) = 0x97541c5897541c58;
+  *((unsigned long *)&__m256i_op0[0]) = 0x97541c5897541c58;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffc00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffc00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffc00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffc00000000;
+  __m256i_out = __lasx_xvsat_d (__m256i_op0, 0x22);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffff605a;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffff605a;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffff605a;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffff605a;
+  __m256i_out = __lasx_xvsat_d (__m256i_op0, 0x2d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x001175f10e4330e8;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff8f0842ff29211e;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffff8d9ffa7103d;
+  *((unsigned long *)&__m256i_result[3]) = 0x001175f10e4330e8;
+  *((unsigned long *)&__m256i_result[2]) = 0xff8f0842ff29211e;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffff8d9ffa7103d;
+  __m256i_out = __lasx_xvsat_d (__m256i_op0, 0x39);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+  __m256i_out = __lasx_xvsat_d (__m256i_op0, 0x21);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xc2c2c2c2c2c2c2c2;
+  *((unsigned long *)&__m256i_op0[2]) = 0xc2c2c2c2c2c2c2c2;
+  *((unsigned long *)&__m256i_op0[1]) = 0xc2c2c2c2c2c2c2c2;
+  *((unsigned long *)&__m256i_op0[0]) = 0xc2c2c2c2c2c2c2c2;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffe000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffe000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffe000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffe000000000000;
+  __m256i_out = __lasx_xvsat_d (__m256i_op0, 0x31);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000001ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000001ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000001ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000001ffffffff;
+  __m256i_out = __lasx_xvsat_d (__m256i_op0, 0x21);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_d (__m256i_op0, 0x3d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_d (__m256i_op0, 0x1c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x498000804843ffe0;
+  *((unsigned long *)&__m256i_op0[2]) = 0x4980008068400000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x498000804843ffe0;
+  *((unsigned long *)&__m256i_op0[0]) = 0x4980008068400000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0fffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0fffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0fffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0fffffffffffffff;
+  __m256i_out = __lasx_xvsat_d (__m256i_op0, 0x3c);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffff8;
+  __m256i_out = __lasx_xvsat_d (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000002c21ffeff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xc0000000c0000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000002c21ffeff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xc0000000c0000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000007;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000007;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffff8;
+  __m256i_out = __lasx_xvsat_d (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_d (__m256i_op0, 0x32);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsat-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsat-2.c
new file mode 100644
index 00000000000..e5ee89debc3
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsat-2.c
@@ -0,0 +1,427 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+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]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x3f3f3f3f3f3f3f3f;
+  *((unsigned long *)&__m256i_result[2]) = 0x3f3f3f3f3f3f3f3f;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000003f3f3f3f;
+  *((unsigned long *)&__m256i_result[0]) = 0x3f3f3f3f00000000;
+  __m256i_out = __lasx_xvsat_bu (__m256i_op0, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_bu (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_xvsat_bu (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000001ffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfe00000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000001ffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfe00000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000017f7f7f;
+  *((unsigned long *)&__m256i_result[2]) = 0x7f00000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000017f7f7f;
+  *((unsigned long *)&__m256i_result[0]) = 0x7f00000000000000;
+  __m256i_out = __lasx_xvsat_bu (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000700000007;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0007ffff0007ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000700000007;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0007ffff0007ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000700000007;
+  *((unsigned long *)&__m256i_result[2]) = 0x00071f1f00071f1f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000700000007;
+  *((unsigned long *)&__m256i_result[0]) = 0x00071f1f00071f1f;
+  __m256i_out = __lasx_xvsat_bu (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000d6d6d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000d6d6d;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000d6d6d;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000d6d6d;
+  __m256i_out = __lasx_xvsat_bu (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x3fff3fff3fff3fff;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000003fff3fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x3fff3fff3fff3fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000003fff3fff;
+  __m256i_out = __lasx_xvsat_hu (__m256i_op0, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_result[3]) = 0x001f001f001f001f;
+  *((unsigned long *)&__m256i_result[2]) = 0x001f001f001f001f;
+  *((unsigned long *)&__m256i_result[1]) = 0x001f001f001f001f;
+  *((unsigned long *)&__m256i_result[0]) = 0x001f001f001f001f;
+  __m256i_out = __lasx_xvsat_hu (__m256i_op0, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x00001fff00001fff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00001fff00001fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00001fff00001fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00001fff00001fff;
+  __m256i_out = __lasx_xvsat_hu (__m256i_op0, 0xc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_hu (__m256i_op0, 0xa);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000003f003f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000003f003f;
+  __m256i_out = __lasx_xvsat_hu (__m256i_op0, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xc0090000c0200060;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xc0090000c0200060;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x007f0000007f0060;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x007f0000007f0060;
+  __m256i_out = __lasx_xvsat_hu (__m256i_op0, 0x6);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x3eab77367fff4848;
+  *((unsigned long *)&__m256i_op0[2]) = 0x408480007fff0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x3eab77367fff4848;
+  *((unsigned long *)&__m256i_op0[0]) = 0x408480007fff0000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0003000300030003;
+  *((unsigned long *)&__m256i_result[2]) = 0x0003000300030000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0003000300030003;
+  *((unsigned long *)&__m256i_result[0]) = 0x0003000300030000;
+  __m256i_out = __lasx_xvsat_hu (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000001fff000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000029170;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000001fff000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000029170;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000001ff03ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000203ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000001ff03ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000203ff;
+  __m256i_out = __lasx_xvsat_hu (__m256i_op0, 0x9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_hu (__m256i_op0, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_hu (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_wu (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_wu (__m256i_op0, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_wu (__m256i_op0, 0x1b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_wu (__m256i_op0, 0x14);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_wu (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_wu (__m256i_op0, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x457db03e457db03e;
+  *((unsigned long *)&__m256i_op0[2]) = 0x457db03e45a87310;
+  *((unsigned long *)&__m256i_op0[1]) = 0x457db03e457db03e;
+  *((unsigned long *)&__m256i_op0[0]) = 0x457db03e45a87310;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000f0000000f;
+  __m256i_out = __lasx_xvsat_wu (__m256i_op0, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000077fff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000003ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_wu (__m256i_op0, 0x11);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00003fe000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00003fe000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00003fe000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00003fe000000000;
+  __m256i_out = __lasx_xvsat_wu (__m256i_op0, 0x15);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000fffcfffc;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000fffcfffc;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000fffcfffc;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000fffcfffc;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000003fff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000003fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000003fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000003fff;
+  __m256i_out = __lasx_xvsat_wu (__m256i_op0, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7efefefe80ffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0fffffff0fffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0fffffff0fffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0fffffff0fffffff;
+  __m256i_out = __lasx_xvsat_wu (__m256i_op0, 0x1b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffe000ffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffe000ffffffff08;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffe000ffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffe000ffffffff08;
+  *((unsigned long *)&__m256i_result[3]) = 0x0fffffff0fffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0fffffff0fffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0fffffff0fffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0fffffff0fffffff;
+  __m256i_out = __lasx_xvsat_wu (__m256i_op0, 0x1b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x000003ffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x000003ffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000003ffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000003ffffffffff;
+  __m256i_out = __lasx_xvsat_du (__m256i_op0, 0x29);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_du (__m256i_op0, 0x34);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00000007;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000e7;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00000007;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000007;
+  *((unsigned long *)&__m256i_result[3]) = 0x0001ffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000000e7;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001ffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000007;
+  __m256i_out = __lasx_xvsat_du (__m256i_op0, 0x30);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x247fe49409620040;
+  *((unsigned long *)&__m256i_op0[2]) = 0x2475cef801f0ffdd;
+  *((unsigned long *)&__m256i_op0[1]) = 0x6580668200fe0002;
+  *((unsigned long *)&__m256i_op0[0]) = 0x419cd5b11c3c5654;
+  *((unsigned long *)&__m256i_result[3]) = 0x247fe49409620040;
+  *((unsigned long *)&__m256i_result[2]) = 0x2475cef801f0ffdd;
+  *((unsigned long *)&__m256i_result[1]) = 0x6580668200fe0002;
+  *((unsigned long *)&__m256i_result[0]) = 0x419cd5b11c3c5654;
+  __m256i_out = __lasx_xvsat_du (__m256i_op0, 0x3f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_du (__m256i_op0, 0x22);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff800080000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000000001ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000001ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000001ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000001ff;
+  __m256i_out = __lasx_xvsat_du (__m256i_op0, 0x8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1fa0000000080000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x1fa0000000080000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000007fffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000007fffff;
+  __m256i_out = __lasx_xvsat_du (__m256i_op0, 0x16);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000017f00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00007f7f03030000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000017f00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00007f7f03030000;
+  __m256i_out = __lasx_xvsat_du (__m256i_op0, 0x37);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvsat_du (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
-- 
2.20.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-09-13  3:41 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-13  3:40 [PATCH v4 10/22] LoongArch: Add tests for ASX vector xvssran/xvssrani/xvssrarn/xvssrarni/xvssrln/ xvssrlni/xvssrlrn/xvssrlrni instructions Xiaolong Chen
2023-09-13  3:40 ` [PATCH v4 11/22] LoongArch: Add tests for ASX vector xvbitclr/xvbitclri/xvbitrev/xvbitrevi/ xvbitsel/xvbitseli/xvbitset/xvbitseti/xvclo/xvclz/xvpcnt instructions Xiaolong Chen
2023-09-13  3:40 ` [PATCH v4 12/22] LoongArch: Add tests for ASX builtin functions Xiaolong Chen
2023-09-13  3:40 ` [PATCH v4 13/22] LoongArch: Add tests for ASX xvldrepl/xvstelm instruction generation Xiaolong Chen
2023-09-13  3:40 ` [PATCH v4 14/22] LoongArch: Add tests for ASX vector floating-point operation instruction Xiaolong Chen
2023-09-13  3:40 ` [PATCH v4 15/22] LoongArch: Add tests for ASX vector floating-point conversion instruction Xiaolong Chen
2023-09-13  3:40 ` [PATCH v4 16/22] LoongArch: Add tests for ASX vector comparison and selection instruction Xiaolong Chen
2023-09-13  3:40 ` [PATCH v4 17/22] LoongArch: Add tests for ASX vector xvfnmadd/xvfrstp/xvfstpi/xvhsubw/ xvmsub/xvrotr/xvrotri/xvld/xvst instructions Xiaolong Chen
2023-09-13  3:40 ` [PATCH v4 18/22] LoongArch: Add tests for ASX vector xvabsd/xvavg/xvavgr/xvbsll/xvbsrl/xvneg/ xvsat instructions Xiaolong Chen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).