public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH v4 20/22] LoongArch: Add tests for ASX vector xvfcmp{saf/seq/sle/slt/sne/sor/sun} instructions.
@ 2023-09-13  3:43 Xiaolong Chen
  2023-09-13  3:43 ` [PATCH v4 21/22] LoongArch: Add tests for ASX vector xvext2xv/xvexth/xvextins/xvilvh/xvilvl/xvinsgr2vr/ xvinsve0/xvprem/xvpremi instructions Xiaolong Chen
  2023-09-13  3:43 ` [PATCH v4 22/22] LoongArch: Add tests for ASX vector xvpackev/xvpackod/xvpickev/xvpickod/ xvpickve2gr/xvreplgr2vr/xvreplve/xvreplve0/xvreplvei/xvshuf4i/xvshuf instructions Xiaolong Chen
  0 siblings, 2 replies; 3+ messages in thread
From: Xiaolong Chen @ 2023-09-13  3:43 UTC (permalink / raw)
  To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen

gcc/testsuite/ChangeLog:

	* gcc.target/loongarch/vector/lasx/lasx-xvfcmp_saf_s.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfcmp_seq_s.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sle_s.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfcmp_slt_s.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sne_s.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sor_s.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sun_s.c: New test.
---
 .../loongarch/vector/lasx/lasx-xvfcmp_saf_s.c |  424 ++++++
 .../loongarch/vector/lasx/lasx-xvfcmp_seq_s.c |  924 +++++++++++++
 .../loongarch/vector/lasx/lasx-xvfcmp_sle_s.c |  627 +++++++++
 .../loongarch/vector/lasx/lasx-xvfcmp_slt_s.c | 1212 +++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvfcmp_sne_s.c |  756 ++++++++++
 .../loongarch/vector/lasx/lasx-xvfcmp_sor_s.c |  438 ++++++
 .../loongarch/vector/lasx/lasx-xvfcmp_sun_s.c |  363 +++++
 7 files changed, 4744 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_saf_s.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_seq_s.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sle_s.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_slt_s.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sne_s.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sor_s.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sun_s.c

diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_saf_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_saf_s.c
new file mode 100644
index 00000000000..23cbc4bf024
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_saf_s.c
@@ -0,0 +1,424 @@
+/* { 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_xvfcmp_saf_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]) = 0x0000ffff;
+  *((int *)&__m256_op0[4]) = 0x0000ffff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x0000ffff;
+  *((int *)&__m256_op0[0]) = 0x0000ffff;
+  *((int *)&__m256_op1[7]) = 0x0eb7aaaa;
+  *((int *)&__m256_op1[6]) = 0xa6e6ac80;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x0eb7aaaa;
+  *((int *)&__m256_op1[2]) = 0xa6e6ac80;
+  *((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_xvfcmp_saf_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x3fff3fff;
+  *((int *)&__m256_op0[6]) = 0x3fff3fff;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x3fff3fff;
+  *((int *)&__m256_op0[3]) = 0x3fff3fff;
+  *((int *)&__m256_op0[2]) = 0x3fff3fff;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x3fff3fff;
+  *((int *)&__m256_op1[7]) = 0x017e01fe;
+  *((int *)&__m256_op1[6]) = 0x01fe01fe;
+  *((int *)&__m256_op1[5]) = 0x05860606;
+  *((int *)&__m256_op1[4]) = 0x01fe0202;
+  *((int *)&__m256_op1[3]) = 0x017e01fe;
+  *((int *)&__m256_op1[2]) = 0x01fe0000;
+  *((int *)&__m256_op1[1]) = 0x05860606;
+  *((int *)&__m256_op1[0]) = 0x01fe0004;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_saf_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x0000003f;
+  *((int *)&__m256_op0[6]) = 0x00390035;
+  *((int *)&__m256_op0[5]) = 0x8015003f;
+  *((int *)&__m256_op0[4]) = 0x0006001f;
+  *((int *)&__m256_op0[3]) = 0x0000003f;
+  *((int *)&__m256_op0[2]) = 0x00390035;
+  *((int *)&__m256_op0[1]) = 0x8015003f;
+  *((int *)&__m256_op0[0]) = 0x0006001f;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_saf_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]) = 0xefdfefdf;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0xefdfefdf;
+  *((int *)&__m256_op1[4]) = 0xefdfefdf;
+  *((int *)&__m256_op1[3]) = 0xefdfefdf;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0xefdfefdf;
+  *((int *)&__m256_op1[0]) = 0xefdfefdf;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_saf_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]) = 0x00ff00ff;
+  *((int *)&__m256_op1[6]) = 0x00ff00ff;
+  *((int *)&__m256_op1[5]) = 0x00ff00ff;
+  *((int *)&__m256_op1[4]) = 0x00ff00ff;
+  *((int *)&__m256_op1[3]) = 0x00ff00ff;
+  *((int *)&__m256_op1[2]) = 0x00ff00ff;
+  *((int *)&__m256_op1[1]) = 0x00ff00ff;
+  *((int *)&__m256_op1[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_xvfcmp_saf_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000001;
+  *((int *)&__m256_op0[6]) = 0x7bfffff0;
+  *((int *)&__m256_op0[5]) = 0x00000001;
+  *((int *)&__m256_op0[4]) = 0x80007fe8;
+  *((int *)&__m256_op0[3]) = 0x00000001;
+  *((int *)&__m256_op0[2]) = 0x7bfffff0;
+  *((int *)&__m256_op0[1]) = 0x00000001;
+  *((int *)&__m256_op0[0]) = 0x80007fe8;
+  *((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_xvfcmp_saf_s (__m256_op0, __m256_op1);
+  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;
+  *((int *)&__m256_op1[7]) = 0x3e800000;
+  *((int *)&__m256_op1[6]) = 0x3e800000;
+  *((int *)&__m256_op1[5]) = 0x3e800000;
+  *((int *)&__m256_op1[4]) = 0x3e800000;
+  *((int *)&__m256_op1[3]) = 0x3e800000;
+  *((int *)&__m256_op1[2]) = 0x3e800000;
+  *((int *)&__m256_op1[1]) = 0x3e800000;
+  *((int *)&__m256_op1[0]) = 0x3e800000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_saf_s (__m256_op0, __m256_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;
+  *((int *)&__m256_op1[7]) = 0xffffffff;
+  *((int *)&__m256_op1[6]) = 0xffffffff;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0xffffffff;
+  *((int *)&__m256_op1[3]) = 0xffffffff;
+  *((int *)&__m256_op1[2]) = 0xffffffff;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[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_xvfcmp_saf_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x80000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0xff88ff88;
+  *((int *)&__m256_op0[3]) = 0x80000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0xff88ff88;
+  *((int *)&__m256_op1[7]) = 0xfe01fe01;
+  *((int *)&__m256_op1[6]) = 0x0000fd02;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x3fc03fc0;
+  *((int *)&__m256_op1[3]) = 0xfe01fe01;
+  *((int *)&__m256_op1[2]) = 0x0000fd02;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x3fc03fc0;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_saf_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000001;
+  *((int *)&__m256_op0[6]) = 0x00000001;
+  *((int *)&__m256_op0[5]) = 0xffffb2f6;
+  *((int *)&__m256_op0[4]) = 0x00006f48;
+  *((int *)&__m256_op0[3]) = 0x00000001;
+  *((int *)&__m256_op0[2]) = 0x00000001;
+  *((int *)&__m256_op0[1]) = 0xffffb2f6;
+  *((int *)&__m256_op0[0]) = 0x00006f48;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x000000ff;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x000000ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_saf_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_xvfcmp_saf_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]) = 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_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00100010;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00100010;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00100010;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00100010;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_saf_s (__m256_op0, __m256_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]) = 0x0000000000000020;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0020000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000020;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0020000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_saf_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]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xfffffefefffffefe;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0xfffffefe00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_saf_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_xvfcmp_saf_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((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_xvfcmp_saf_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000010;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000010;
+  *((unsigned long *)&__m256d_op1[3]) = 0x000408080c111414;
+  *((unsigned long *)&__m256d_op1[2]) = 0x000408080c111414;
+  *((unsigned long *)&__m256d_op1[1]) = 0x000408080c111414;
+  *((unsigned long *)&__m256d_op1[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_xvfcmp_saf_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00000000ffdbbbcf;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00000000ffb8579f;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00000000ffdbbbcf;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000000ffb8579f;
+  *((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_xvfcmp_saf_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000200000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000004000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000200000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000004000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x3fffbfff80000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00004000007f8000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x3fffbfff80000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00004000007f8000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_saf_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_seq_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_seq_s.c
new file mode 100644
index 00000000000..6641d2c5848
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_seq_s.c
@@ -0,0 +1,924 @@
+/* { 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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 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]) = 0x41d66000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x41d66000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((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_xvfcmp_seq_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xa41aa42e;
+  *((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]) = 0xffffffff;
+  *((int *)&__m256_op1[0]) = 0xa41aa42e;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvfcmp_seq_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x83f95466;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0x01010101;
+  *((int *)&__m256_op0[0]) = 0x00005400;
+  *((int *)&__m256_op1[7]) = 0xffffffff;
+  *((int *)&__m256_op1[6]) = 0xfefefeff;
+  *((int *)&__m256_op1[5]) = 0xffffffff;
+  *((int *)&__m256_op1[4]) = 0xff295329;
+  *((int *)&__m256_op1[3]) = 0xffffffff;
+  *((int *)&__m256_op1[2]) = 0xfefefeff;
+  *((int *)&__m256_op1[1]) = 0xffffffff;
+  *((int *)&__m256_op1[0]) = 0xff295329;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 0x111ebb78;
+  *((int *)&__m256_op1[6]) = 0x4f9c4100;
+  *((int *)&__m256_op1[5]) = 0x1c386546;
+  *((int *)&__m256_op1[4]) = 0x809f3b50;
+  *((int *)&__m256_op1[3]) = 0x111ebb78;
+  *((int *)&__m256_op1[2]) = 0x4f9bf1ac;
+  *((int *)&__m256_op1[1]) = 0x21f6050d;
+  *((int *)&__m256_op1[0]) = 0x955d3f68;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 0xffffffff;
+  *((int *)&__m256_op1[6]) = 0xffffffff;
+  *((int *)&__m256_op1[5]) = 0xffff0000;
+  *((int *)&__m256_op1[4]) = 0xffff0001;
+  *((int *)&__m256_op1[3]) = 0xffffffff;
+  *((int *)&__m256_op1[2]) = 0xffffffff;
+  *((int *)&__m256_op1[1]) = 0xffff0000;
+  *((int *)&__m256_op1[0]) = 0xffff0001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_seq_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000100;
+  *((int *)&__m256_op0[5]) = 0x00000002;
+  *((int *)&__m256_op0[4]) = 0xff910072;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000100;
+  *((int *)&__m256_op0[1]) = 0x00000002;
+  *((int *)&__m256_op0[0]) = 0xff910072;
+  *((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]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 0xffff97a2;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0xffff97a2;
+  *((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]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sueq_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sueq_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x55555555;
+  *((int *)&__m256_op0[6]) = 0x3f800000;
+  *((int *)&__m256_op0[5]) = 0x55555555;
+  *((int *)&__m256_op0[4]) = 0x80000000;
+  *((int *)&__m256_op0[3]) = 0x55555555;
+  *((int *)&__m256_op0[2]) = 0x3f800000;
+  *((int *)&__m256_op0[1]) = 0x55555555;
+  *((int *)&__m256_op0[0]) = 0x80000000;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x0001fffe;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x0001fffe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sueq_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00018002;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000002;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00018002;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000002;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00030000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00030000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((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_xvfcmp_sueq_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xfff70156;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xfff70156;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xfff70156;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xfff70156;
+  *((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;
+  *((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_xvfcmp_sueq_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sueq_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]) = 0x0000ff70;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x0000ff70;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000100;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000100;
+  *((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_xvfcmp_sueq_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]) = 0x00000002;
+  *((int *)&__m256_op1[4]) = 0x00000008;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000002;
+  *((int *)&__m256_op1[0]) = 0x00000008;
+  *((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_xvfcmp_sueq_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x4393a0a5;
+  *((int *)&__m256_op0[6]) = 0xbc606060;
+  *((int *)&__m256_op0[5]) = 0x43b32fee;
+  *((int *)&__m256_op0[4]) = 0xa9000000;
+  *((int *)&__m256_op0[3]) = 0x4393a0a5;
+  *((int *)&__m256_op0[2]) = 0xbc606060;
+  *((int *)&__m256_op0[1]) = 0x43b32fee;
+  *((int *)&__m256_op0[0]) = 0xa9000000;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sueq_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]) = 0x00000003;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000003;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000003;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000003;
+  *((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_xvfcmp_sueq_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xfffeb664;
+  *((int *)&__m256_op0[6]) = 0x007ffd61;
+  *((int *)&__m256_op0[5]) = 0xfffe97a1;
+  *((int *)&__m256_op0[4]) = 0xdf5b41b0;
+  *((int *)&__m256_op0[3]) = 0xfffeb664;
+  *((int *)&__m256_op0[2]) = 0x007ffd61;
+  *((int *)&__m256_op0[1]) = 0xfffe97a1;
+  *((int *)&__m256_op0[0]) = 0xdf5b41b0;
+  *((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;
+  *((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_xvfcmp_sueq_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x053531f7c6334908;
+  *((unsigned long *)&__m256d_op0[2]) = 0x8e41dcbff87e7900;
+  *((unsigned long *)&__m256d_op0[1]) = 0x12eb8332e3e15093;
+  *((unsigned long *)&__m256d_op0[0]) = 0x9a7491f9e016ccd4;
+  *((unsigned long *)&__m256d_op1[3]) = 0x345947dcd192b5c4;
+  *((unsigned long *)&__m256d_op1[2]) = 0x182100c72280e687;
+  *((unsigned long *)&__m256d_op1[1]) = 0x4a1c80bb8e892e00;
+  *((unsigned long *)&__m256d_op1[0]) = 0x063ecfbd58abc4b7;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_seq_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000000ffffffff;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_seq_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffff90ffffff80;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffff90ffffff80;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffff0002fffeffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffff0002fffeffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((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_xvfcmp_seq_d (__m256d_op0, __m256d_op1);
+  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 *)&__m256d_op1[3]) = 0x000000010486048c;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000100000006;
+  *((unsigned long *)&__m256d_op1[1]) = 0x000000010486048c;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000100000006;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_seq_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xff00ff00ff00ef32;
+  *((unsigned long *)&__m256d_op0[2]) = 0xff00ff00ff00ef32;
+  *((unsigned long *)&__m256d_op0[1]) = 0xff00ff00ff00ef32;
+  *((unsigned long *)&__m256d_op0[0]) = 0xff00ff00ff00ef32;
+  *((unsigned long *)&__m256d_op1[3]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00ff00ff00ef0120;
+  *((unsigned long *)&__m256d_op1[1]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00ff00ff00ef0120;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_seq_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xff00ffff00000001;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256d_op0[1]) = 0xff00ffff00000001;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000002;
+  *((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_xvfcmp_seq_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 0x04e8296f08181818;
+  *((unsigned long *)&__m256d_op1[2]) = 0x032feea900000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x04e8296f08181818;
+  *((unsigned long *)&__m256d_op1[0]) = 0x032feea900000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_seq_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffff1cff1c;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffff1cff1c;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffff1cff1c;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffff1cff1c;
+  *((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_xvfcmp_seq_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x1400080008000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x1400080008000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x1400080008000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x1400080008000000;
+  *((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 *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_seq_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]) = 0x000000000000ff80;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256d_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_xvfcmp_sueq_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]) = 0xffffffffffffffff;
+  *((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 *)&__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_xvfcmp_sueq_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sueq_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__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_xvfcmp_sueq_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sueq_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]) = 0xffff040000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffff040000000000;
+  *((unsigned long *)&__m256d_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_xvfcmp_sueq_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]) = 0x01fe01fe01fe01fe;
+  *((unsigned long *)&__m256d_op1[2]) = 0x01fe01fe01fe01fe;
+  *((unsigned long *)&__m256d_op1[1]) = 0x01fe01fe01fe01fe;
+  *((unsigned long *)&__m256d_op1[0]) = 0x01fe01fe01fe01fe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sueq_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffe045fffffeff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000000ffffff7d;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sueq_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sle_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sle_s.c
new file mode 100644
index 00000000000..d25fc25da24
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sle_s.c
@@ -0,0 +1,627 @@
+/* { 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]) = 0xffffff90;
+  *((int *)&__m256_op0[4]) = 0xffffff80;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xffffff90;
+  *((int *)&__m256_op0[0]) = 0xffffff80;
+  *((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_xvfcmp_sle_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sle_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xfefee0e3;
+  *((int *)&__m256_op0[6]) = 0xfefefe00;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0xfefee0e3;
+  *((int *)&__m256_op0[2]) = 0xfefefe00;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sle_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sle_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x0000ffff;
+  *((int *)&__m256_op0[6]) = 0x0000ffff;
+  *((int *)&__m256_op0[5]) = 0x0000ffff;
+  *((int *)&__m256_op0[4]) = 0x0000ffff;
+  *((int *)&__m256_op0[3]) = 0x0000ffff;
+  *((int *)&__m256_op0[2]) = 0x0000ffff;
+  *((int *)&__m256_op0[1]) = 0x0000ffff;
+  *((int *)&__m256_op0[0]) = 0x0000ffff;
+  *((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_xvfcmp_sle_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sle_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x8000000a;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x8000000a;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sule_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]) = 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;
+  *((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_xvfcmp_sule_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x01010101;
+  *((int *)&__m256_op0[6]) = 0x01010101;
+  *((int *)&__m256_op0[5]) = 0x01010101;
+  *((int *)&__m256_op0[4]) = 0x01010101;
+  *((int *)&__m256_op0[3]) = 0x01010101;
+  *((int *)&__m256_op0[2]) = 0x01010101;
+  *((int *)&__m256_op0[1]) = 0x01010101;
+  *((int *)&__m256_op0[0]) = 0x01010101;
+  *((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_xvfcmp_sule_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]) = 0xffd8ffc7;
+  *((int *)&__m256_op0[4]) = 0xffdaff8a;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffd8ffc7;
+  *((int *)&__m256_op0[0]) = 0xffdaff8a;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0xffffb3b4;
+  *((int *)&__m256_op1[5]) = 0xfffffff5;
+  *((int *)&__m256_op1[4]) = 0xffff4738;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0xffffb3b4;
+  *((int *)&__m256_op1[1]) = 0xfffffff5;
+  *((int *)&__m256_op1[0]) = 0xffff4738;
+  *((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_xvfcmp_sule_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sule_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]) = 0xf7f7f7f7;
+  *((int *)&__m256_op1[6]) = 0xf7f7f7f8;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0xf7f7f7f7;
+  *((int *)&__m256_op1[2]) = 0xf7f7f7f8;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((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_xvfcmp_sule_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sule_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]) = 0x5fa00000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x5fa00000;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sule_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x97541c5897541c58;
+  *((unsigned long *)&__m256d_op0[2]) = 0x97541c5897541c58;
+  *((unsigned long *)&__m256d_op0[1]) = 0x97541c5897541c58;
+  *((unsigned long *)&__m256d_op0[0]) = 0x97541c5897541c58;
+  *((unsigned long *)&__m256d_op1[3]) = 0x97541c5897541c58;
+  *((unsigned long *)&__m256d_op1[2]) = 0x97541c5897541c58;
+  *((unsigned long *)&__m256d_op1[1]) = 0x97541c5897541c58;
+  *((unsigned long *)&__m256d_op1[0]) = 0x97541c5897541c58;
+  *((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_xvfcmp_sle_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00000105fffffefb;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffff02000000fe;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00000105fffffefb;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffff02000000fe;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sle_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000020afefb1;
+  *((unsigned long *)&__m256d_op0[2]) = 0x7f350104f7ebffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00000000003fffc1;
+  *((unsigned long *)&__m256d_op0[0]) = 0x005c0003fff9ffff;
+  *((unsigned long *)&__m256d_op1[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0209fefb08140000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0003fffc00060000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sle_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0xfffdfffdfffdfffd;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sle_d (__m256d_op0, __m256d_op1);
+  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 *)&__m256d_op1[3]) = 0x00000003f8000004;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x00000003f8000004;
+  *((unsigned long *)&__m256d_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_xvfcmp_sle_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000003;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000003;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000010001;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000003;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000003;
+  *((unsigned long *)&__m256d_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_xvfcmp_sle_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000080;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sle_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sle_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sle_d (__m256d_op0, __m256d_op1);
+  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 *)&__m256d_op1[3]) = 0x8000800080008000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x800000ff800000ff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x8000800080008000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x800000ff800000ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sle_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000010100000101;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000010100000101;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000100000001;
+  *((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_xvfcmp_sle_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256d_op0[1]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfffe97c020010001;
+  *((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 *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sle_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sle_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x001f001fffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffe0ffe000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x001f001fffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffe0ffe000000000;
+  *((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_xvfcmp_sle_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xfc00000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfc00000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0xfc00000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfc00000000000000;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sule_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xf5f5f5f5f5f5f5f5;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xf5f5f5f5f5f5f5f5;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sule_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x8d8d72728d8d7272;
+  *((unsigned long *)&__m256d_op0[2]) = 0x8d8d72728d8d8d8d;
+  *((unsigned long *)&__m256d_op0[1]) = 0x8d8d72728d8d7272;
+  *((unsigned long *)&__m256d_op0[0]) = 0x8d8d72728d8d8d8d;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sule_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sule_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffff010100000001;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffff010100000001;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00000000ffffffff;
+  *((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_xvfcmp_sule_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_slt_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_slt_s.c
new file mode 100644
index 00000000000..8210f749b11
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_slt_s.c
@@ -0,0 +1,1212 @@
+/* { 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_xvfcmp_slt_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]) = 0x00000101;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_slt_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xc08f7800;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xfffffefd;
+  *((int *)&__m256_op0[3]) = 0xc08f7800;
+  *((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]) = 0x00000101;
+  *((int *)&__m256_op1[4]) = 0x00000102;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000101;
+  *((int *)&__m256_op1[0]) = 0x00000102;
+  *((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_xvfcmp_slt_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_xvfcmp_slt_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_xvfcmp_slt_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]) = 0x001f1f3e;
+  *((int *)&__m256_op1[6]) = 0x3e1f1f00;
+  *((int *)&__m256_op1[5]) = 0x00030609;
+  *((int *)&__m256_op1[4]) = 0x09060300;
+  *((int *)&__m256_op1[3]) = 0x001f1f3e;
+  *((int *)&__m256_op1[2]) = 0x3e1f1f00;
+  *((int *)&__m256_op1[1]) = 0x00030609;
+  *((int *)&__m256_op1[0]) = 0x09060300;
+  *((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_xvfcmp_slt_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_slt_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x7fffffff;
+  *((int *)&__m256_op0[6]) = 0x7fffffff;
+  *((int *)&__m256_op0[5]) = 0x7fffffff;
+  *((int *)&__m256_op0[4]) = 0x7fffffff;
+  *((int *)&__m256_op0[3]) = 0x7fffffff;
+  *((int *)&__m256_op0[2]) = 0x7fffffff;
+  *((int *)&__m256_op0[1]) = 0x7fffffff;
+  *((int *)&__m256_op0[0]) = 0x7fffffff;
+  *((int *)&__m256_op1[7]) = 0x20fc0000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x20fc0000;
+  *((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_xvfcmp_slt_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]) = 0xffff0400;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0xffff0400;
+  *((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_xvfcmp_slt_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]) = 0x08050501;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x08050501;
+  *((int *)&__m256_op1[7]) = 0x90909090;
+  *((int *)&__m256_op1[6]) = 0x90909090;
+  *((int *)&__m256_op1[5]) = 0x90909090;
+  *((int *)&__m256_op1[4]) = 0x90909090;
+  *((int *)&__m256_op1[3]) = 0x90909090;
+  *((int *)&__m256_op1[2]) = 0x90909090;
+  *((int *)&__m256_op1[1]) = 0x90909090;
+  *((int *)&__m256_op1[0]) = 0x90909090;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_slt_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_xvfcmp_slt_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00001ff8;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xd8d8c000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00001ff8;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xd8d8c000;
+  *((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;
+  *((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_xvfcmp_slt_s (__m256_op0, __m256_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;
+  *((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_xvfcmp_slt_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]) = 0x00000001;
+  *((int *)&__m256_op1[6]) = 0xffe00000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x00000001;
+  *((int *)&__m256_op1[2]) = 0xffe00000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((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_xvfcmp_slt_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x60000108;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x01060005;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x7fef0001;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000001;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0xfffffff8;
+  *((int *)&__m256_op1[4]) = 0xfffffff8;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0xfffffff8;
+  *((int *)&__m256_op1[0]) = 0xfc000000;
+  *((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_xvfcmp_sult_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x327f0101;
+  *((int *)&__m256_op0[6]) = 0x01010102;
+  *((int *)&__m256_op0[5]) = 0x63000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x327f0101;
+  *((int *)&__m256_op0[2]) = 0x01010102;
+  *((int *)&__m256_op0[1]) = 0x63000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_op1[7]) = 0xce7fffff;
+  *((int *)&__m256_op1[6]) = 0xfffffffe;
+  *((int *)&__m256_op1[5]) = 0x63000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0xce7fffff;
+  *((int *)&__m256_op1[2]) = 0xfffffffe;
+  *((int *)&__m256_op1[1]) = 0x63000000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((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_xvfcmp_sult_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]) = 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]) = 0x0eb7aaaa;
+  *((int *)&__m256_op1[6]) = 0xa6e6ac80;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x0eb7aaaa;
+  *((int *)&__m256_op1[2]) = 0xa6e6ac80;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((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_xvfcmp_sult_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]) = 0x00000007;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000007;
+  *((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_xvfcmp_sult_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]) = 0xdbc80000;
+  *((int *)&__m256_op1[6]) = 0x00003fff;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0xdbc80000;
+  *((int *)&__m256_op1[2]) = 0x00003fff;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((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_xvfcmp_sult_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sult_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]) = 0x00000002;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x0000007f;
+  *((int *)&__m256_op1[7]) = 0xfffffff3;
+  *((int *)&__m256_op1[6]) = 0x0000000b;
+  *((int *)&__m256_op1[5]) = 0xfffffff3;
+  *((int *)&__m256_op1[4]) = 0xfffffff3;
+  *((int *)&__m256_op1[3]) = 0xfffffff3;
+  *((int *)&__m256_op1[2]) = 0x0000000b;
+  *((int *)&__m256_op1[1]) = 0xfffffff3;
+  *((int *)&__m256_op1[0]) = 0xfffffff3;
+  *((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_xvfcmp_sult_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x223d76f0;
+  *((int *)&__m256_op0[6]) = 0x9f3881ff;
+  *((int *)&__m256_op0[5]) = 0x3870ca8d;
+  *((int *)&__m256_op0[4]) = 0x013e76a0;
+  *((int *)&__m256_op0[3]) = 0x223d76f0;
+  *((int *)&__m256_op0[2]) = 0x9f37e357;
+  *((int *)&__m256_op0[1]) = 0x43ec0a1b;
+  *((int *)&__m256_op0[0]) = 0x2aba7ed0;
+  *((int *)&__m256_op1[7]) = 0x111ebb78;
+  *((int *)&__m256_op1[6]) = 0x4f9c4100;
+  *((int *)&__m256_op1[5]) = 0x1c386546;
+  *((int *)&__m256_op1[4]) = 0x809f3b50;
+  *((int *)&__m256_op1[3]) = 0x111ebb78;
+  *((int *)&__m256_op1[2]) = 0x4f9bf1ac;
+  *((int *)&__m256_op1[1]) = 0x21f6050d;
+  *((int *)&__m256_op1[0]) = 0x955d3f68;
+  *((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_xvfcmp_sult_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x01010101;
+  *((int *)&__m256_op0[6]) = 0x27272525;
+  *((int *)&__m256_op0[5]) = 0x23a2a121;
+  *((int *)&__m256_op0[4]) = 0x179e951d;
+  *((int *)&__m256_op0[3]) = 0x01010101;
+  *((int *)&__m256_op0[2]) = 0x27272525;
+  *((int *)&__m256_op0[1]) = 0x23a2a121;
+  *((int *)&__m256_op0[0]) = 0x179e951d;
+  *((int *)&__m256_op1[7]) = 0x00001251;
+  *((int *)&__m256_op1[6]) = 0x00005111;
+  *((int *)&__m256_op1[5]) = 0x00000c4f;
+  *((int *)&__m256_op1[4]) = 0x00004b0f;
+  *((int *)&__m256_op1[3]) = 0x00001251;
+  *((int *)&__m256_op1[2]) = 0x00005111;
+  *((int *)&__m256_op1[1]) = 0x00000c4f;
+  *((int *)&__m256_op1[0]) = 0x00004b0f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sult_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]) = 0x80000000;
+  *((int *)&__m256_op1[6]) = 0xff800000;
+  *((int *)&__m256_op1[5]) = 0x80000000;
+  *((int *)&__m256_op1[4]) = 0x80000000;
+  *((int *)&__m256_op1[3]) = 0x80000000;
+  *((int *)&__m256_op1[2]) = 0xff800000;
+  *((int *)&__m256_op1[1]) = 0x80000000;
+  *((int *)&__m256_op1[0]) = 0x80000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sult_s (__m256_op0, __m256_op1);
+  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;
+  *((int *)&__m256_op1[7]) = 0x7ff00000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x7ff00000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x7ff00000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x7ff00000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((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_xvfcmp_sult_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]) = 0x000000ff;
+  *((int *)&__m256_op1[6]) = 0x000000ff;
+  *((int *)&__m256_op1[5]) = 0x000000ff;
+  *((int *)&__m256_op1[4]) = 0x000000ff;
+  *((int *)&__m256_op1[3]) = 0x000000ff;
+  *((int *)&__m256_op1[2]) = 0x000000ff;
+  *((int *)&__m256_op1[1]) = 0x000000ff;
+  *((int *)&__m256_op1[0]) = 0x000000ff;
+  *((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_xvfcmp_sult_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xfe01fe01;
+  *((int *)&__m256_op0[6]) = 0x7e81fd02;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x3fc001fe;
+  *((int *)&__m256_op0[3]) = 0xfe01fe01;
+  *((int *)&__m256_op0[2]) = 0x7e81fd02;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x3fc001fe;
+  *((int *)&__m256_op1[7]) = 0xfe01fe01;
+  *((int *)&__m256_op1[6]) = 0x7e81fd02;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x3fc001fe;
+  *((int *)&__m256_op1[3]) = 0xfe01fe01;
+  *((int *)&__m256_op1[2]) = 0x7e81fd02;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x3fc001fe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sult_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_xvfcmp_sult_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]) = 0x80000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x80000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x80000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x80000000;
+  *((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_xvfcmp_sult_s (__m256_op0, __m256_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((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_xvfcmp_slt_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0ff80100ffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0ff80100ffffffff;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000017000000080;
+  *((unsigned long *)&__m256d_op1[2]) = 0xc06500550055ffab;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000017000000080;
+  *((unsigned long *)&__m256d_op1[0]) = 0xc06500550055ffab;
+  *((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_xvfcmp_slt_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x01480000052801a2;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000000ffdcff64;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0101010101010203;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_slt_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffff000100000000;
+  *((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_xvfcmp_slt_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000fe0100000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000fe0100000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000001900000019;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000001900000019;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000001900000019;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000001900000019;
+  *((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_xvfcmp_slt_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_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]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_slt_d (__m256d_op0, __m256d_op1);
+  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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((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_xvfcmp_slt_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00ff00ffff00ff00;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00000fff00004542;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00ff00ffff00ff00;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000fff00004542;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_slt_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfffffffffffffffe;
+  *((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_xvfcmp_slt_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00aa00ab00ff00ff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00aa00ab00ff00ff;
+  *((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_xvfcmp_slt_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]) = 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_xvfcmp_slt_d (__m256d_op0, __m256d_op1);
+  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 *)&__m256d_op1[3]) = 0xffe37fe3001d001d;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00000000ffff8000;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffe37fe3001d001d;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00000000ffff8000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_slt_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffa30000165a;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000104000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffa30000165a;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000104000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000022beb03f;
+  *((unsigned long *)&__m256d_op1[2]) = 0x7fffffffa2beb040;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000022beb03f;
+  *((unsigned long *)&__m256d_op1[0]) = 0x7fffffffa2beb040;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_slt_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]) = 0x00003fe000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00003fe000000000;
+  *((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_xvfcmp_slt_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00000000ffff0008;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000000ffff0008;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x000000430207f944;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x000000430207f944;
+  *((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_xvfcmp_slt_d (__m256d_op0, __m256d_op1);
+  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 *)&__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_xvfcmp_slt_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xfe01fe017e81fd02;
+  *((unsigned long *)&__m256d_op0[2]) = 0x000000003fc001fe;
+  *((unsigned long *)&__m256d_op0[1]) = 0xfe01fe017e81fd02;
+  *((unsigned long *)&__m256d_op0[0]) = 0x000000003fc001fe;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_slt_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]) = 0x0000000000000000;
+  *((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_xvfcmp_slt_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffff000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffff000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00000000000000fe;
+  *((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_xvfcmp_sult_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]) = 0x0000003868686a20;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0045b8ae81bce1d8;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000003868686a20;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0045b8ae81bce1d8;
+  *((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_xvfcmp_sult_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x001175f10e4330e8;
+  *((unsigned long *)&__m256d_op0[2]) = 0xff8f0842ff29211e;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfffff8d9ffa7103d;
+  *((unsigned long *)&__m256d_op1[3]) = 0x001175f10e4330e8;
+  *((unsigned long *)&__m256d_op1[2]) = 0xff8f0842ff29211e;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_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]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sult_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]) = 0x0000000000000008;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000080000;
+  *((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_xvfcmp_sult_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x000b004a00440040;
+  *((unsigned long *)&__m256d_op0[2]) = 0x8020004a0011002a;
+  *((unsigned long *)&__m256d_op0[1]) = 0x000b004a00440040;
+  *((unsigned long *)&__m256d_op0[0]) = 0x8020004a0011002a;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0fff0fff00000020;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0fff0fff00000020;
+  *((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_xvfcmp_sult_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x8000000000000000;
+  *((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_xvfcmp_sult_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0002000000020000;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0002000000020000;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfff0000000000000;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sult_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x4040404040404040;
+  *((unsigned long *)&__m256d_op0[2]) = 0x4040404040404040;
+  *((unsigned long *)&__m256d_op0[1]) = 0x4040404040404040;
+  *((unsigned long *)&__m256d_op0[0]) = 0x4040404040404040;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0006000000040000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0002000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0006000000040000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0002000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sult_d (__m256d_op0, __m256d_op1);
+  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 *)&__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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sult_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x000000ff00000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00ffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x000000ff00000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00ffffffffffffff;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xfffefffefffeffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0xfffefffefffeffff;
+  *((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_xvfcmp_sult_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_xvfcmp_sult_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000860601934;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000800200028;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000860601934;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000800200028;
+  *((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 *)&__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_xvfcmp_sult_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_xvfcmp_sult_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]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000002;
+  *((unsigned long *)&__m256d_op1[2]) = 0x4079808280057efe;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x007ffcfcfd020202;
+  *((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_xvfcmp_sult_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000400000004;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000400000004;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sult_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_xvfcmp_sult_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_xvfcmp_sult_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sne_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sne_s.c
new file mode 100644
index 00000000000..9d015a5c858
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sne_s.c
@@ -0,0 +1,756 @@
+/* { 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]) = 0x80808080;
+  *((int *)&__m256_op0[6]) = 0x80808080;
+  *((int *)&__m256_op0[5]) = 0x80808080;
+  *((int *)&__m256_op0[4]) = 0x80808080;
+  *((int *)&__m256_op0[3]) = 0x80808080;
+  *((int *)&__m256_op0[2]) = 0x80808080;
+  *((int *)&__m256_op0[1]) = 0x80808080;
+  *((int *)&__m256_op0[0]) = 0x80808080;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sne_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xefefefef;
+  *((int *)&__m256_op0[6]) = 0xefefefef;
+  *((int *)&__m256_op0[5]) = 0xefefefef;
+  *((int *)&__m256_op0[4]) = 0xefefefef;
+  *((int *)&__m256_op0[3]) = 0xefefefef;
+  *((int *)&__m256_op0[2]) = 0xefefef6e;
+  *((int *)&__m256_op0[1]) = 0xeeeeeeee;
+  *((int *)&__m256_op0[0]) = 0xeeeeeeee;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sne_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x7f800000;
+  *((int *)&__m256_op0[6]) = 0x7f800000;
+  *((int *)&__m256_op0[5]) = 0x7f800000;
+  *((int *)&__m256_op0[4]) = 0x7f800000;
+  *((int *)&__m256_op0[3]) = 0x7f800000;
+  *((int *)&__m256_op0[2]) = 0x7f800000;
+  *((int *)&__m256_op0[1]) = 0x7f800000;
+  *((int *)&__m256_op0[0]) = 0x7f800000;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sne_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]) = 0x0000ffff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x0000ffff;
+  *((int *)&__m256_op1[7]) = 0x00ff00ff;
+  *((int *)&__m256_op1[6]) = 0x00ff00ff;
+  *((int *)&__m256_op1[5]) = 0x00ff00ff;
+  *((int *)&__m256_op1[4]) = 0x00ff00ff;
+  *((int *)&__m256_op1[3]) = 0x00ff00ff;
+  *((int *)&__m256_op1[2]) = 0x00ff00ff;
+  *((int *)&__m256_op1[1]) = 0x00ff00ff;
+  *((int *)&__m256_op1[0]) = 0x00ff00ff;
+  *((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_xvfcmp_sne_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]) = 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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sne_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_xvfcmp_sne_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]) = 0x40404040;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x40404040;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0xfefefefe;
+  *((int *)&__m256_op1[4]) = 0x3f800000;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0xfefefefe;
+  *((int *)&__m256_op1[0]) = 0x3f800000;
+  *((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_xvfcmp_sne_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_xvfcmp_sne_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]) = 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;
+  *((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_xvfcmp_sne_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x01010101;
+  *((int *)&__m256_op0[5]) = 0x55555501;
+  *((int *)&__m256_op0[4]) = 0xfefefeab;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x01010101;
+  *((int *)&__m256_op0[1]) = 0x55555501;
+  *((int *)&__m256_op0[0]) = 0xfefefeab;
+  *((int *)&__m256_op1[7]) = 0x0010bfc8;
+  *((int *)&__m256_op1[6]) = 0x0010bf52;
+  *((int *)&__m256_op1[5]) = 0xfff1bfca;
+  *((int *)&__m256_op1[4]) = 0x0011bfcb;
+  *((int *)&__m256_op1[3]) = 0x0010bfc8;
+  *((int *)&__m256_op1[2]) = 0x0010bf52;
+  *((int *)&__m256_op1[1]) = 0xfff1bfca;
+  *((int *)&__m256_op1[0]) = 0x0011bfcb;
+  *((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_xvfcmp_sune_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]) = 0x80008000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x80008000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x80008000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x80008000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((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_xvfcmp_sune_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00060000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00060000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000166;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000166;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((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_xvfcmp_sune_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x0000004a;
+  *((int *)&__m256_op0[6]) = 0x557baac4;
+  *((int *)&__m256_op0[5]) = 0x556caad9;
+  *((int *)&__m256_op0[4]) = 0xaabbaa88;
+  *((int *)&__m256_op0[3]) = 0x0000004a;
+  *((int *)&__m256_op0[2]) = 0x557baac4;
+  *((int *)&__m256_op0[1]) = 0x556caad9;
+  *((int *)&__m256_op0[0]) = 0xaabbaa88;
+  *((int *)&__m256_op1[7]) = 0x09090909;
+  *((int *)&__m256_op1[6]) = 0x09090909;
+  *((int *)&__m256_op1[5]) = 0x09090909;
+  *((int *)&__m256_op1[4]) = 0x09090909;
+  *((int *)&__m256_op1[3]) = 0x09090909;
+  *((int *)&__m256_op1[2]) = 0x09090909;
+  *((int *)&__m256_op1[1]) = 0x09090909;
+  *((int *)&__m256_op1[0]) = 0x09090909;
+  *((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_xvfcmp_sune_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_xvfcmp_sune_s (__m256_op0, __m256_op1);
+  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;
+  *((int *)&__m256_op1[7]) = 0x80000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x80000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x80000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x80000000;
+  *((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_xvfcmp_sune_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]) = 0x00000020;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000020;
+  *((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]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvfcmp_sune_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_xvfcmp_sune_s (__m256_op0, __m256_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_xvfcmp_sne_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xbabababababababa;
+  *((unsigned long *)&__m256d_op0[2]) = 0xbabababababababa;
+  *((unsigned long *)&__m256d_op0[1]) = 0xbabababababababa;
+  *((unsigned long *)&__m256d_op0[0]) = 0xbabababababababa;
+  *((unsigned long *)&__m256d_op1[3]) = 0x88888a6d0962002e;
+  *((unsigned long *)&__m256d_op1[2]) = 0xdb8a3109fe0f0020;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000007fff01fffb;
+  *((unsigned long *)&__m256d_op1[0]) = 0xdb8e20990cce025a;
+  *((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_xvfcmp_sne_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000009;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000009;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000009;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000009;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sne_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_xvfcmp_sne_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000010001;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sne_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xfffffffffffffe00;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfffffffffffffe00;
+  *((unsigned long *)&__m256d_op0[1]) = 0xfffffffffffffe00;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfffffffffffffe00;
+  *((unsigned long *)&__m256d_op1[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x000000ffff88ff88;
+  *((unsigned long *)&__m256d_op1[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x000000ffff88ff88;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sne_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_xvfcmp_sne_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sne_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xff00000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256d_op0[1]) = 0xff00000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xfffffffffffebeb8;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0xfffffffffffebeb8;
+  *((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_xvfcmp_sune_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xfafafafafafafafa;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000fefefe;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0101010101010203;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0101010101010101;
+  *((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_xvfcmp_sune_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_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_xvfcmp_sune_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000ffee0000ff4c;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000ff050000ff3c;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000fff90000ff78;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000ffa80000ff31;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sune_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]) = 0x0020002000200020;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0020000000200000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0020002000200020;
+  *((unsigned long *)&__m256d_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]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sune_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]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0100000001000100;
+  *((unsigned long *)&__m256d_op1[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0100000001000100;
+  *((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_xvfcmp_sune_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0c6a240000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0f00204000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0c6a240000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0f00204000000000;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sune_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]) = 0x0000000000010001;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000010001;
+  *((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_xvfcmp_sune_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00000000000a0008;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000000000a0008;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffff00000000;
+  *((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_xvfcmp_sune_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000000ffffffff;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sune_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00000000ffffffff;
+  *((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_xvfcmp_sune_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x000000010000685e;
+  *((unsigned long *)&__m256d_op0[2]) = 0x000020a4ffffbe4f;
+  *((unsigned long *)&__m256d_op0[1]) = 0x000000010000685e;
+  *((unsigned long *)&__m256d_op0[0]) = 0x000020a4ffffbe4f;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0087ff87f807ff87;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0087ff87f807ff87;
+  *((unsigned long *)&__m256d_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_xvfcmp_sune_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_xvfcmp_sune_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]) = 0xfd02fd02fd02fd02;
+  *((unsigned long *)&__m256d_op1[2]) = 0xfd02fd02fd02fd02;
+  *((unsigned long *)&__m256d_op1[1]) = 0xfd02fd02fd02fd02;
+  *((unsigned long *)&__m256d_op1[0]) = 0xfd02fd02fd02fd02;
+  *((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_xvfcmp_sune_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]) = 0x7fffffff80000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x7fffffff80000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x7fffffff80000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x7fffffff80000000;
+  *((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_xvfcmp_sune_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sor_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sor_s.c
new file mode 100644
index 00000000000..a61681073d5
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sor_s.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;
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sor_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sor_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]) = 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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sor_s (__m256_op0, __m256_op1);
+  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]) = 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]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvfcmp_sor_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x000000ff;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x000000ff;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sor_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sor_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]) = 0x00000064;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000781;
+  *((int *)&__m256_op0[0]) = 0x00000064;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sor_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sor_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x0c6a2400;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x0f002040;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x0c6a2400;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x0f002040;
+  *((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;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sor_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sor_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x0000000c;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x0000000c;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sor_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0101010101010101;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0feff00000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0feff00000000000;
+  *((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_xvfcmp_sor_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]) = 0x0000003868686a20;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0045b8ae81bce1d8;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000003868686a20;
+  *((unsigned long *)&__m256d_op1[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_xvfcmp_sor_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x3ff0000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x3ff0000000000000;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sor_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000005;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000005;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000005;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000005;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000005;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000005;
+  *((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_xvfcmp_sor_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sor_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffdc;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffdc;
+  *((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 *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sor_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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_xvfcmp_sor_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvfcmp_sor_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xe0e0e0e0e0e0e0e0;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfefefefeffe0e0e0;
+  *((unsigned long *)&__m256d_op0[1]) = 0xe0e0e0e0e0e0e0e0;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfefefefeffe0e0e0;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000040004000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000040004000;
+  *((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_xvfcmp_sor_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]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256d_op1[2]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256d_op1[1]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256d_op1[0]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sor_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]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00000007ffffffce;
+  *((unsigned long *)&__m256d_op1[1]) = 0x00000005ffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00000007ffffffce;
+  *((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_xvfcmp_sor_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sun_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sun_s.c
new file mode 100644
index 00000000000..41f274920a1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sun_s.c
@@ -0,0 +1,363 @@
+/* { 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]) = 0x1e180000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x1e180000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x1e180000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x1e180000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_op1[7]) = 0x00802000;
+  *((int *)&__m256_op1[6]) = 0x00802000;
+  *((int *)&__m256_op1[5]) = 0xffffffff;
+  *((int *)&__m256_op1[4]) = 0xffffffff;
+  *((int *)&__m256_op1[3]) = 0x00802000;
+  *((int *)&__m256_op1[2]) = 0x00802000;
+  *((int *)&__m256_op1[1]) = 0xffffffff;
+  *((int *)&__m256_op1[0]) = 0xffffffff;
+  *((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_xvfcmp_sun_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000055;
+  *((int *)&__m256_op0[6]) = 0x36aaaaac;
+  *((int *)&__m256_op0[5]) = 0x55555555;
+  *((int *)&__m256_op0[4]) = 0xaaaaaaac;
+  *((int *)&__m256_op0[3]) = 0x00000055;
+  *((int *)&__m256_op0[2]) = 0x36aaaaac;
+  *((int *)&__m256_op0[1]) = 0x55555555;
+  *((int *)&__m256_op0[0]) = 0xaaaaaaac;
+  *((int *)&__m256_op1[7]) = 0x00060000;
+  *((int *)&__m256_op1[6]) = 0x00040000;
+  *((int *)&__m256_op1[5]) = 0x00025555;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x00060000;
+  *((int *)&__m256_op1[2]) = 0x00040000;
+  *((int *)&__m256_op1[1]) = 0x00025555;
+  *((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_xvfcmp_sun_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xff240000;
+  *((int *)&__m256_op0[6]) = 0x0000ff00;
+  *((int *)&__m256_op0[5]) = 0xfffeffe4;
+  *((int *)&__m256_op0[4]) = 0xfffeff00;
+  *((int *)&__m256_op0[3]) = 0xff640000;
+  *((int *)&__m256_op0[2]) = 0x0000ff00;
+  *((int *)&__m256_op0[1]) = 0xfffeff66;
+  *((int *)&__m256_op0[0]) = 0xfffeff00;
+  *((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;
+  *((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_xvfcmp_sun_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x80808082;
+  *((int *)&__m256_op0[6]) = 0x80808082;
+  *((int *)&__m256_op0[5]) = 0x80808082;
+  *((int *)&__m256_op0[4]) = 0x80808082;
+  *((int *)&__m256_op0[3]) = 0x80808082;
+  *((int *)&__m256_op0[2]) = 0x80808080;
+  *((int *)&__m256_op0[1]) = 0x80808082;
+  *((int *)&__m256_op0[0]) = 0x80808082;
+  *((int *)&__m256_op1[7]) = 0x55555555;
+  *((int *)&__m256_op1[6]) = 0x55555555;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x55555555;
+  *((int *)&__m256_op1[2]) = 0x55555555;
+  *((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_xvfcmp_sun_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_xvfcmp_sun_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_xvfcmp_sun_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sun_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_xvfcmp_sun_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_xvfcmp_sun_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]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((int *)&__m256_op1[7]) = 0xffffffff;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0xffffffff;
+  *((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]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvfcmp_sun_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_xvfcmp_sun_s (__m256_op0, __m256_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_xvfcmp_sun_d (__m256d_op0, __m256d_op1);
+  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]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0x7fffffff7fffffff;
+  *((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_xvfcmp_sun_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]) = 0x00000000ffff0008;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00000000ffff0008;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sun_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]) = 0x0000000000000118;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000118;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sun_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]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0fffffff10000006;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0fffffff10000006;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0fffffff10000006;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0fffffff10000006;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcmp_sun_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000027;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000027;
+  *((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 *)&__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_xvfcmp_sun_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
-- 
2.20.1


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

* [PATCH v4 21/22] LoongArch: Add tests for ASX vector xvext2xv/xvexth/xvextins/xvilvh/xvilvl/xvinsgr2vr/ xvinsve0/xvprem/xvpremi instructions.
  2023-09-13  3:43 [PATCH v4 20/22] LoongArch: Add tests for ASX vector xvfcmp{saf/seq/sle/slt/sne/sor/sun} instructions Xiaolong Chen
@ 2023-09-13  3:43 ` Xiaolong Chen
  2023-09-13  3:43 ` [PATCH v4 22/22] LoongArch: Add tests for ASX vector xvpackev/xvpackod/xvpickev/xvpickod/ xvpickve2gr/xvreplgr2vr/xvreplve/xvreplve0/xvreplvei/xvshuf4i/xvshuf instructions Xiaolong Chen
  1 sibling, 0 replies; 3+ messages in thread
From: Xiaolong Chen @ 2023-09-13  3:43 UTC (permalink / raw)
  To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen

gcc/testsuite/ChangeLog:

	* gcc.target/loongarch/vector/lasx/lasx-xvext2xv-1.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvext2xv-2.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvexth-1.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvexth-2.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvextrins.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvilvh.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvilvl.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvinsgr2vr.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvinsve0.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvprem.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvpremi.c: New test.
---
 .../loongarch/vector/lasx/lasx-xvext2xv-1.c   | 515 ++++++++++++++
 .../loongarch/vector/lasx/lasx-xvext2xv-2.c   | 669 ++++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvexth-1.c     | 350 +++++++++
 .../loongarch/vector/lasx/lasx-xvexth-2.c     | 592 ++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvextrins.c    | 515 ++++++++++++++
 .../loongarch/vector/lasx/lasx-xvilvh.c       | 530 ++++++++++++++
 .../loongarch/vector/lasx/lasx-xvilvl.c       | 620 ++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvinsgr2vr.c   | 272 +++++++
 .../loongarch/vector/lasx/lasx-xvinsve0.c     | 380 ++++++++++
 .../loongarch/vector/lasx/lasx-xvprem.c       |  20 +
 .../loongarch/vector/lasx/lasx-xvpremi.c      |  20 +
 11 files changed, 4483 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvext2xv-1.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvext2xv-2.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvexth-1.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvexth-2.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvextrins.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvilvh.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvilvl.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvinsgr2vr.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvinsve0.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvprem.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpremi.c

diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvext2xv-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvext2xv-1.c
new file mode 100644
index 00000000000..94f31019c39
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvext2xv-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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_vext2xv_h_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_vext2xv_h_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_vext2xv_h_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_vext2xv_h_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_vext2xv_h_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_vext2xv_h_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x2b2b2b2b1bd5d5d6;
+  *((unsigned long *)&__m256i_op0[2]) = 0x2a2a2a2af2d5d5d6;
+  *((unsigned long *)&__m256i_op0[1]) = 0x2b2b2b2b1bd5d5d6;
+  *((unsigned long *)&__m256i_op0[0]) = 0x2a2a2a2af2d5d5d6;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000002a0000002a;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000002a0000002a;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffff2ffffffd5;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffd5ffffffd6;
+  __m256i_out = __lasx_vext2xv_w_b (__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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_vext2xv_w_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]) = 0x00000000ffffffff;
+  *((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_vext2xv_d_b (__m256i_op0);
+  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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_vext2xv_d_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_vext2xv_d_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x007f00ff007f00ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x007f00ff007f00ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000007f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_vext2xv_d_b (__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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_vext2xv_d_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfff0fff0ff01ff01;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfff0fff0fff0fff0;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfff0fff0ff01ff01;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfff0fff0fff0fff0;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffff0;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffff0;
+  __m256i_out = __lasx_vext2xv_d_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_vext2xv_d_b (__m256i_op0);
+  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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_vext2xv_d_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_vext2xv_d_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000000fe;
+  __m256i_out = __lasx_vext2xv_w_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_vext2xv_w_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000017f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000017f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000017f;
+  __m256i_out = __lasx_vext2xv_w_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000ffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ff00fff0;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffff00fffffff0;
+  __m256i_out = __lasx_vext2xv_w_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_vext2xv_w_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_vext2xv_w_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffe20001dfe1f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffe20001dfe1f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffe20;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000001dfffffe1f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_vext2xv_w_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_vext2xv_w_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0200000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x2000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0200000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x2000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000020000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000200000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_vext2xv_w_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_vext2xv_w_h (__m256i_op0);
+  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]) = 0x0000498000000080;
+  *((unsigned long *)&__m256i_result[2]) = 0x00004843ffffffe0;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000498000000080;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000684000000000;
+  __m256i_out = __lasx_vext2xv_w_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_vext2xv_w_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000f6ff00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000f6ff00000000;
+  *((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_vext2xv_d_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_vext2xv_d_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_vext2xv_d_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_vext2xv_d_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000017;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000001700170017;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000017;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000001700170017;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000017;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000017;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000017;
+  __m256i_out = __lasx_vext2xv_d_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00020002ff820002;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00020002ff820002;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffff82;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000002;
+  __m256i_out = __lasx_vext2xv_d_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_vext2xv_d_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x03fbfffc03fc07fc;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x03fbfffc03fc07fc;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_vext2xv_d_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_vext2xv_d_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xd100645944100004;
+  *((unsigned long *)&__m256i_op0[2]) = 0xd1908469108400d1;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000404040104;
+  *((unsigned long *)&__m256i_op0[0]) = 0xd1108199714910f9;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000004;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000004040104;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffd1108199;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000714910f9;
+  __m256i_out = __lasx_vext2xv_d_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_vext2xv_d_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_vext2xv_d_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_vext2xv_d_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_vext2xv_d_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_vext2xv_d_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_vext2xv_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvext2xv-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvext2xv-2.c
new file mode 100644
index 00000000000..d93201bc469
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvext2xv-2.c
@@ -0,0 +1,669 @@
+/* { 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]) = 0x0063009c003f00ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00b500df00ff00fe;
+  *((unsigned long *)&__m256i_result[1]) = 0x00b800c700800000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0094004000000001;
+  __m256i_out = __lasx_vext2xv_hu_bu (__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_vext2xv_hu_bu (__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_vext2xv_hu_bu (__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_vext2xv_hu_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000aaabffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000aaabffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000aaabffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000aaabffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00aa00ab00ff00ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00aa00ab00ff00ff;
+  __m256i_out = __lasx_vext2xv_hu_bu (__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_vext2xv_hu_bu (__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_vext2xv_hu_bu (__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_vext2xv_hu_bu (__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_vext2xv_hu_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x01ff01ff01c0003e;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x01ff01ff01c0003e;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x000100ff000100ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000100c00000003e;
+  __m256i_out = __lasx_vext2xv_hu_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0001000f0001000f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0001000f0001000d;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001000f0001000f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0001000f0001000d;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000010000000f;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000010000000f;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000010000000f;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000010000000d;
+  __m256i_out = __lasx_vext2xv_hu_bu (__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_vext2xv_hu_bu (__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_vext2xv_hu_bu (__m256i_op0);
+  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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000080;
+  __m256i_out = __lasx_vext2xv_hu_bu (__m256i_op0);
+  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_result[3]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000ff000000ff;
+  __m256i_out = __lasx_vext2xv_wu_bu (__m256i_op0);
+  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_result[3]) = 0x0000005f000000f0;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000007;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000ff000000f9;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000ff000000f3;
+  __m256i_out = __lasx_vext2xv_wu_bu (__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_vext2xv_wu_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000008;
+  *((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_vext2xv_wu_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+  *((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_vext2xv_wu_bu (__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_vext2xv_wu_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000064;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000781;
+  *((unsigned long *)&__m256i_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]) = 0x0000000000000064;
+  __m256i_out = __lasx_vext2xv_wu_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000029;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000029;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000029;
+  __m256i_out = __lasx_vext2xv_wu_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000100;
+  *((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_vext2xv_wu_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000200000002;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000200000002;
+  *((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_vext2xv_wu_bu (__m256i_op0);
+  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_result[3]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000000fd;
+  __m256i_out = __lasx_vext2xv_du_bu (__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_vext2xv_du_bu (__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_vext2xv_du_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ff7fff7f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ff7f027f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ff7f0100;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff00fe00fe7f027f;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000007f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000007f;
+  __m256i_out = __lasx_vext2xv_du_bu (__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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000000ff;
+  __m256i_out = __lasx_vext2xv_du_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000003fbfc04;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000001fdfe02;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000003fbfc04;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000001fdfe02;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000000fd;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000002;
+  __m256i_out = __lasx_vext2xv_du_bu (__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_vext2xv_du_bu (__m256i_op0);
+  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]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000000ef;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000080;
+  __m256i_out = __lasx_vext2xv_du_bu (__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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_vext2xv_du_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000002e0000002e;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000002e0000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000002e0000002e;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000002e0000fffe;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000002e;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000002e;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000002e;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000fffe;
+  __m256i_out = __lasx_vext2xv_wu_hu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffcfee0fe00ffe0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffcfee0fe00ffe0;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000fffc0000fee0;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000fe000000ffe0;
+  __m256i_out = __lasx_vext2xv_wu_hu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000001b0000001b;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000001b00fd0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000001b0000001b;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000001b00fd0000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000001b;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000001b;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000001b;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000fd00000000;
+  __m256i_out = __lasx_vext2xv_wu_hu (__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_vext2xv_wu_hu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000017f7f7f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7f00000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000017f7f7f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7f00000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000017f00007f7f;
+  *((unsigned long *)&__m256i_result[1]) = 0x00007f0000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_vext2xv_wu_hu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff0000ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff0000ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ff00000000ff;
+  __m256i_out = __lasx_vext2xv_wu_hu (__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_vext2xv_wu_hu (__m256i_op0);
+  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]) = 0x0000498000000080;
+  *((unsigned long *)&__m256i_result[2]) = 0x000048430000ffe0;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000498000000080;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000684000000000;
+  __m256i_out = __lasx_vext2xv_wu_hu (__m256i_op0);
+  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_result[3]) = 0x0000ffff00007edd;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00007ed3;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff00007edf;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00007edf;
+  __m256i_out = __lasx_vext2xv_wu_hu (__m256i_op0);
+  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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_vext2xv_du_hu (__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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_vext2xv_du_hu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000801380f380fe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000801380f300fb;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000008013;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000080f3;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000000fb;
+  __m256i_out = __lasx_vext2xv_du_hu (__m256i_op0);
+  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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_vext2xv_du_hu (__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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_vext2xv_du_hu (__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_vext2xv_du_hu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000800080008000;
+  *((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_vext2xv_du_hu (__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_vext2xv_du_hu (__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_vext2xv_du_hu (__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_vext2xv_du_wu (__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]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_vext2xv_du_wu (__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_vext2xv_du_wu (__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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000007f;
+  __m256i_out = __lasx_vext2xv_du_wu (__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_vext2xv_du_wu (__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_vext2xv_du_wu (__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_vext2xv_du_wu (__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]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_vext2xv_du_wu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvexth-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvexth-1.c
new file mode 100644
index 00000000000..9fb4e3ff0be
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvexth-1.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]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_op0[2]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_op0[1]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_op0[0]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_result[3]) = 0x005500550055ffab;
+  *((unsigned long *)&__m256i_result[2]) = 0x005500550055ffab;
+  *((unsigned long *)&__m256i_result[1]) = 0x005500550055ffab;
+  *((unsigned long *)&__m256i_result[0]) = 0x005500550055ffab;
+  __m256i_out = __lasx_xvexth_h_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_xvexth_h_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_xvexth_h_b (__m256i_op0);
+  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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_h_b (__m256i_op0);
+  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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_h_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_xvexth_h_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((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_xvexth_h_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffec;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffebd8;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffec;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffebd8;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffec;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffec;
+  __m256i_out = __lasx_xvexth_w_h (__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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvexth_w_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_xvexth_w_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_xvexth_w_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_xvexth_w_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff1cff1cff1cff1c;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff1cff1cff1cff1c;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff1cff1cff1cff1c;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff1cff1cff1cff1c;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffff1cffffff1c;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffff1cffffff1c;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffff1cffffff1c;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffff1cffffff1c;
+  __m256i_out = __lasx_xvexth_w_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]) = 0x0000000001010101;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000001010101;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000001010101;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000001010101;
+  __m256i_out = __lasx_xvexth_d_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_xvexth_d_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_xvexth_d_w (__m256i_op0);
+  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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007fffffff;
+  __m256i_out = __lasx_xvexth_d_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000010;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000010;
+  *((unsigned long *)&__m256i_op0[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_xvexth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[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_xvexth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000007f00340040;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000007f000000ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_q_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffec;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffec;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_q_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00080000002c0000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0008000000080000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00080000002c0000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0008000000080000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00080000002c0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00080000002c0000;
+  __m256i_out = __lasx_xvexth_q_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvexth_q_d (__m256i_op0);
+  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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_q_d (__m256i_op0);
+  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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_q_d (__m256i_op0);
+  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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_q_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_xvexth_q_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_xvexth_q_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_xvexth_q_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvexth-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvexth-2.c
new file mode 100644
index 00000000000..fe6ff15d8a6
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvexth-2.c
@@ -0,0 +1,592 @@
+/* { 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]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000022;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_hu_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7f7f7f7f7f7f7f7f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_hu_bu (__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_xvexth_hu_bu (__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_xvexth_hu_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000045f3fb;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000045f3fb;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000004500f300fb;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000004500f300fb;
+  __m256i_out = __lasx_xvexth_hu_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((unsigned long *)&__m256i_result[3]) = 0x004100df00ff00ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00ff00c000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x004100df00ff00ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00ff00c000000000;
+  __m256i_out = __lasx_xvexth_hu_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff7fff7fff;
+  *((unsigned long *)&__m256i_result[3]) = 0x007f00ff007f00ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x007f00ff007f00ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x007f00ff007f00ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x007f00ff007f00ff;
+  __m256i_out = __lasx_xvexth_hu_bu (__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_xvexth_hu_bu (__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_xvexth_hu_bu (__m256i_op0);
+  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_result[3]) = 0x0002000200010002;
+  *((unsigned long *)&__m256i_result[2]) = 0x0002000200010002;
+  *((unsigned long *)&__m256i_result[1]) = 0x0002000200010002;
+  *((unsigned long *)&__m256i_result[0]) = 0x0002000200010002;
+  __m256i_out = __lasx_xvexth_hu_bu (__m256i_op0);
+  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]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff00ff00ff;
+  __m256i_out = __lasx_xvexth_hu_bu (__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]) = 0x0080000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0080000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_hu_bu (__m256i_op0);
+  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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_hu_bu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffff8046867f79;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffff328dfff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x6651bfff80000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ff80;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000468600007f79;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000f3280000dfff;
+  __m256i_out = __lasx_xvexth_wu_hu (__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_xvexth_wu_hu (__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_xvexth_wu_hu (__m256i_op0);
+  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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_wu_hu (__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_xvexth_wu_hu (__m256i_op0);
+  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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000fffe;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000fffe;
+  __m256i_out = __lasx_xvexth_wu_hu (__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_xvexth_wu_hu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffa30000165a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000104000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffa30000165a;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000104000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffa3;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000165a;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffa3;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000165a;
+  __m256i_out = __lasx_xvexth_wu_hu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0001010600000106;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0001010600000106;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_wu_hu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x007cfcfd80000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x007cfcfd80000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_wu_hu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000002000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000020ff790020;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000002000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000020ff790020;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_wu_hu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000001ff03fe;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffec75c2d209f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000001ff03fe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffec75c2d209f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000001ff000003fe;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000001ff000003fe;
+  __m256i_out = __lasx_xvexth_wu_hu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0101010100000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0101010100000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000010100000101;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000010100000101;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000010100000101;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000010100000101;
+  __m256i_out = __lasx_xvexth_wu_hu (__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_xvexth_wu_hu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000e7;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000e7;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000000ff;
+  __m256i_out = __lasx_xvexth_wu_hu (__m256i_op0);
+  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_result[3]) = 0x0000000000000005;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000005;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffff;
+  __m256i_out = __lasx_xvexth_wu_hu (__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]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffff;
+  __m256i_out = __lasx_xvexth_wu_hu (__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_xvexth_du_wu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_du_wu (__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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_du_wu (__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_xvexth_du_wu (__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_xvexth_du_wu (__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_xvexth_du_wu (__m256i_op0);
+  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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_du_wu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8b1414140e0e0e0e;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00d6c1c830160048;
+  *((unsigned long *)&__m256i_op0[1]) = 0x36722a7e66972cd6;
+  *((unsigned long *)&__m256i_op0[0]) = 0xe3aebaf4df958004;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8b1414140e0e0e0e;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x36722a7e66972cd6;
+  __m256i_out = __lasx_xvexth_qu_du (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffff5f5c;
+  __m256i_out = __lasx_xvexth_qu_du (__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_xvexth_qu_du (__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_xvexth_qu_du (__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_xvexth_qu_du (__m256i_op0);
+  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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000102;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvexth_qu_du (__m256i_op0);
+  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]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvexth_qu_du (__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_xvexth_qu_du (__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_xvexth_qu_du (__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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvexth_qu_du (__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_xvexth_qu_du (__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_xvexth_qu_du (__m256i_op0);
+  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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000040;
+  __m256i_out = __lasx_xvexth_qu_du (__m256i_op0);
+  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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000010000005e;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000010000005e;
+  __m256i_out = __lasx_xvexth_qu_du (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000ff0000;
+  __m256i_out = __lasx_xvexth_qu_du (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvextrins.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvextrins.c
new file mode 100644
index 00000000000..8e61f1c6d32
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvextrins.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_op1[3]) = 0x0000000000020202;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000002020202;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000020200;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvextrins_w (__m256i_op0, __m256i_op1, 0x25);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfe02fe02fee5fe22;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff49fe4200000000;
+  *((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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff0000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xff49fe4200000000;
+  __m256i_out = __lasx_xvextrins_d (__m256i_op0, __m256i_op1, 0xbf);
+  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]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_result[3]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_result[1]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000000fe;
+  __m256i_out = __lasx_xvextrins_b (__m256i_op0, __m256i_op1, 0xfe);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvextrins_d (__m256i_op0, __m256i_op1, 0x9f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvextrins_d (__m256i_op0, __m256i_op1, 0xc4);
+  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]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvextrins_d (__m256i_op0, __m256i_op1, 0x99);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000fffffefc0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000fffffffe0;
+  *((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]) = 0x0000000fffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000fffffffff;
+  __m256i_out = __lasx_xvextrins_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_xvextrins_w (__m256i_op0, __m256i_op1, 0x8f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xe161616161616161;
+  *((unsigned long *)&__m256i_op1[2]) = 0xe161616161614e60;
+  *((unsigned long *)&__m256i_op1[1]) = 0xe161616161616161;
+  *((unsigned long *)&__m256i_op1[0]) = 0xe161616161614e60;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000061;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000061;
+  __m256i_out = __lasx_xvextrins_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvextrins_h (__m256i_op0, __m256i_op1, 0x83);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000044444443;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7bbbbbbbf7777778;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000044444443;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7bbbbbbbf7777778;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007bbbbbbb;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007bbbbbbb;
+  __m256i_out = __lasx_xvextrins_w (__m256i_op0, __m256i_op1, 0x8d);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvextrins_w (__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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvextrins_h (__m256i_op0, __m256i_op1, 0xda);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00007f7f00007f7f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00007f7f00007f7f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffff900000800;
+  *((unsigned long *)&__m256i_result[3]) = 0x00007f7f00007f00;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00007f7f00007fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvextrins_b (__m256i_op0, __m256i_op1, 0x87);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 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]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00000000;
+  __m256i_out = __lasx_xvextrins_h (__m256i_op0, __m256i_op1, 0xa5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x2b2a292827262524;
+  *((unsigned long *)&__m256i_op0[2]) = 0x232221201f1e1d1c;
+  *((unsigned long *)&__m256i_op0[1]) = 0x2b2a292827262524;
+  *((unsigned long *)&__m256i_op0[0]) = 0x232221201f1e1d1c;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000023;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000023;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000027262524;
+  *((unsigned long *)&__m256i_result[2]) = 0x232221201f1e1d1c;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000027262524;
+  *((unsigned long *)&__m256i_result[0]) = 0x232221201f1e1d1c;
+  __m256i_out = __lasx_xvextrins_w (__m256i_op0, __m256i_op1, 0xbd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 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]) = 0x0000000080000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000080000000;
+  __m256i_out = __lasx_xvextrins_b (__m256i_op0, __m256i_op1, 0x33);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvextrins_d (__m256i_op0, __m256i_op1, 0xb8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffc6ffc6003a003a;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffc6ffc6003a003a;
+  *((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]) = 0xffc6ffc6003a003a;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffc6ffc6003a003a;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffff0000;
+  __m256i_out = __lasx_xvextrins_h (__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]) = 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_xvextrins_w (__m256i_op0, __m256i_op1, 0x54);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvextrins_b (__m256i_op0, __m256i_op1, 0xe7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvextrins_w (__m256i_op0, __m256i_op1, 0x7e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0100010001000100;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0100010001000100;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0100010001000100;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0100010001000100;
+  *((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]) = 0x0100010001000100;
+  *((unsigned long *)&__m256i_result[2]) = 0xff00010001000100;
+  *((unsigned long *)&__m256i_result[1]) = 0x0100010001000100;
+  *((unsigned long *)&__m256i_result[0]) = 0xff00010001000100;
+  __m256i_out = __lasx_xvextrins_b (__m256i_op0, __m256i_op1, 0x7b);
+  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_xvextrins_h (__m256i_op0, __m256i_op1, 0x19);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00003f3f00003f3f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00003f3f00003f3f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffff0000000f;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffff0000000d;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffff0000000f;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffff0000000d;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff0000000d;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff0000000d;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvextrins_d (__m256i_op0, __m256i_op1, 0x56);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvextrins_w (__m256i_op0, __m256i_op1, 0x1a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ff0100ff0000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ff01;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ff0100ff0000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ff01;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff01;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ff01;
+  __m256i_out = __lasx_xvextrins_h (__m256i_op0, __m256i_op1, 0x6f);
+  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]) = 0x8000000001010100;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000405;
+  *((unsigned long *)&__m256i_op1[1]) = 0x8000000001010100;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000405;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000600000006;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000600000006;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000600000006;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000600000006;
+  __m256i_out = __lasx_xvextrins_h (__m256i_op0, __m256i_op1, 0xf6);
+  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]) = 0x00000000007f8000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000007f8000;
+  *((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_xvextrins_h (__m256i_op0, __m256i_op1, 0x7b);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000fff8ffc0;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ff00fff8ffc0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000fff8ffc0;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ff00fff8ffc0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000fff8ffc0;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000ff00fff8ffc0;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000fff8ffc0;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000ff00fff8ffc0;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000fff8fff8;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ff00fff8ffc0;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000fff8fff8;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ff00fff8ffc0;
+  __m256i_out = __lasx_xvextrins_b (__m256i_op0, __m256i_op1, 0x82);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000002000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000002000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000002000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000002000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000002000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000002000000;
+  __m256i_out = __lasx_xvextrins_h (__m256i_op0, __m256i_op1, 0x43);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0001ffff0001ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0001ffff0001ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001ffff0001ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0001ffff0001ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0001ffff0001ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001ffff0001ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvextrins_d (__m256i_op0, __m256i_op1, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256i_op1[3]) = 0xfffeb664007ffd61;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffe97a1df5b41b0;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffeb664007ffd61;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffe97a1df5b41b0;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffff007ffd61;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffff007ffd61;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffe97c020010001;
+  __m256i_out = __lasx_xvextrins_w (__m256i_op0, __m256i_op1, 0x62);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvilvh.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvilvh.c
new file mode 100644
index 00000000000..5a047a5083b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvilvh.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]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xbff0800000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xbff0800000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvilvh_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fffff90ffffff81;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fffff90ffffff81;
+  *((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_xvilvh_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]) = 0x0000000000000101;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvilvh_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000307fffe72e800;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvilvh_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_op0[2]) = 0x2020202020200008;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0008010101010101;
+  *((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]) = 0x2020000020200000;
+  *((unsigned long *)&__m256i_result[2]) = 0x2020000020200000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0008000001010000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101000001010000;
+  __m256i_out = __lasx_xvilvh_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000001fffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000001fffe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x555555553f800000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x5555555580000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x555555553f800000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x5555555580000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x555555553f800000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x555555553f800000;
+  __m256i_out = __lasx_xvilvh_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000003f00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000003f00000000;
+  __m256i_out = __lasx_xvilvh_w (__m256i_op0, __m256i_op1);
+  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_op1[3]) = 0x247fe49409620040;
+  *((unsigned long *)&__m256i_op1[2]) = 0x2475cef801f0ffdd;
+  *((unsigned long *)&__m256i_op1[1]) = 0x6580668200fe0002;
+  *((unsigned long *)&__m256i_op1[0]) = 0x419cd5b11c3c5654;
+  *((unsigned long *)&__m256i_result[3]) = 0x247fe49409620040;
+  *((unsigned long *)&__m256i_result[2]) = 0x247fe49409620040;
+  *((unsigned long *)&__m256i_result[1]) = 0x6580668200fe0002;
+  *((unsigned long *)&__m256i_result[0]) = 0x6580668200fe0002;
+  __m256i_out = __lasx_xvilvh_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xf5f5f5f5f5f5f5f5;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xf5f5f5f5f5f5f5f5;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000004000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000004000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256i_result[2]) = 0xff04ff00ff00ff00;
+  *((unsigned long *)&__m256i_result[1]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256i_result[0]) = 0xff04ff00ff00ff00;
+  __m256i_out = __lasx_xvilvh_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000003f00390035;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8015003f0006001f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000003f00390035;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8015003f0006001f;
+  *((unsigned long *)&__m256i_op1[3]) = 0x80000000001529c1;
+  *((unsigned long *)&__m256i_op1[2]) = 0x80007073cadc3779;
+  *((unsigned long *)&__m256i_op1[1]) = 0x80000000001529c1;
+  *((unsigned long *)&__m256i_op1[0]) = 0x80007073cadc3779;
+  *((unsigned long *)&__m256i_result[3]) = 0x00008000003f0000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00390015003529c1;
+  *((unsigned long *)&__m256i_result[1]) = 0x00008000003f0000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00390015003529c1;
+  __m256i_out = __lasx_xvilvh_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_xvilvh_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]) = 0x0020002000200020;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0020002000200020;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0020002000200020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0020002000200020;
+  __m256i_out = __lasx_xvilvh_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+  *((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]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvilvh_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]) = 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]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffff;
+  __m256i_out = __lasx_xvilvh_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000002c;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000002c;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000002c;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000002c;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000002c0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000002c0000;
+  __m256i_out = __lasx_xvilvh_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_xvilvh_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7eeefefefefefefe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7eeefefefefefefe;
+  *((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]) = 0x7e00ee00fe00fe00;
+  *((unsigned long *)&__m256i_result[2]) = 0xfe00fe00fe00fe00;
+  *((unsigned long *)&__m256i_result[1]) = 0x7e00ee00fe00fe00;
+  *((unsigned long *)&__m256i_result[0]) = 0xfe00fe00fe00fe00;
+  __m256i_out = __lasx_xvilvh_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]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000000000ff;
+  *((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_xvilvh_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]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+  *((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_xvilvh_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_xvilvh_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xaad5555500000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xaad5555500000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x1f001f00000007ef;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00001fff200007ef;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x1f001f00000007ef;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00001fff200007ef;
+  __m256i_out = __lasx_xvilvh_d (__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]) = 0xffffffff7bfffff1;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffff80007fe9;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffff7bfffff1;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffff80007fe9;
+  *((unsigned long *)&__m256i_result[3]) = 0x40ff40ff40ff40ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x407b40ff40ff40f1;
+  *((unsigned long *)&__m256i_result[1]) = 0x40ff40ff40ff40ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x407b40ff40ff40f1;
+  __m256i_out = __lasx_xvilvh_b (__m256i_op0, __m256i_op1);
+  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_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_xvilvh_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_xvilvh_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]) = 0xfffffff1fffffff1;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffff1fffffff1;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvilvh_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0001fffe0001fffa;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0001fffe00018069;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001fffe0001fffa;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0001fffe00018069;
+  *((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]) = 0x00ff01fffffffeff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00ff01fffffffaff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00ff01fffffffeff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00ff01fffffffaff;
+  __m256i_out = __lasx_xvilvh_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_xvilvh_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]) = 0x0200000202000002;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0200000202000002;
+  *((unsigned long *)&__m256i_result[3]) = 0x00001ff800000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xd8d8c00000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00001ff800000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xd8d8c00000000000;
+  __m256i_out = __lasx_xvilvh_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x800080ff800080ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x800080ff800080ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x800080ff800080ff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x800080ff800080ff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x4000c08000000080;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000080c000c080;
+  *((unsigned long *)&__m256i_op1[1]) = 0x4000c08000000080;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000080c000c080;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000400080ffc080;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000080ff0080;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000400080ffc080;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000080ff0080;
+  __m256i_out = __lasx_xvilvh_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]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
+  *((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_xvilvh_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000001ff03ff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000000203ff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000001ff03ff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000000203ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000001ff03ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000001ff03ff;
+  __m256i_out = __lasx_xvilvh_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]) = 0x000000019ffdf403;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000011ffd97c3;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000019ffdf403;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000011ffd97c3;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000019ffdf403;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000019ffdf403;
+  __m256i_out = __lasx_xvilvh_d (__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]) = 0x001fffffffe00000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x001fffffffe00000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x001f001fffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffe0ffe000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x001f001fffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffe0ffe000000000;
+  __m256i_out = __lasx_xvilvh_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffff8000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffff8000;
+  *((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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvilvh_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-xvilvl.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvilvl.c
new file mode 100644
index 00000000000..4393045c3ac
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvilvl.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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvilvl_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]) = 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_xvilvl_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]) = 0x0000001a00000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000900000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000001a00000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000900000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000009;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff0000ffff0000;
+  __m256i_out = __lasx_xvilvl_h (__m256i_op0, __m256i_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffff0000fffe0000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff0000fefc0000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff0000fffe0000;
+  __m256i_out = __lasx_xvilvl_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffefdfffffefd;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvilvl_w (__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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffbfffc;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x007f00007f7f0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x7f00fffb7f78fffc;
+  __m256i_out = __lasx_xvilvl_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]) = 0x8080808080808081;
+  *((unsigned long *)&__m256i_op1[1]) = 0x8080808080808081;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000808000008080;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000808000008081;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvilvl_h (__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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x00ff01fffffffeff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00ff01fffffffeff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00ff01fffffffeff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00ff01fffffffeff;
+  __m256i_out = __lasx_xvilvl_b (__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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvilvl_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]) = 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]) = 0x07efefefefefefee;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x07efefefefefefee;
+  __m256i_out = __lasx_xvilvl_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffffffffffff;
+  __m256i_out = __lasx_xvilvl_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_xvilvl_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]) = 0x0000000000000005;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000005;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000005;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000005;
+  *((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_xvilvl_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_xvilvl_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_xvilvl_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]) = 0xfff3fff3fff3fff3;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfff3fff3fff3fff3;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfff3fff3fff3fff3;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfff3fff3fff3fff3;
+  *((unsigned long *)&__m256i_result[3]) = 0x00ff00f300ff00f3;
+  *((unsigned long *)&__m256i_result[2]) = 0x00ff00f300ff00f3;
+  *((unsigned long *)&__m256i_result[1]) = 0x00ff00f300ff00f3;
+  *((unsigned long *)&__m256i_result[0]) = 0x00ff00f300ff00f3;
+  __m256i_out = __lasx_xvilvl_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_xvilvl_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]) = 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]) = 0x00ff00ff000c0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff00040000;
+  __m256i_out = __lasx_xvilvl_d (__m256i_op0, __m256i_op1);
+  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_op1[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00ff00fe00ff00fe;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00ff00fe00ff00fe;
+  *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00fe00fe;
+  *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff00fe00fe;
+  *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00fe00fe;
+  *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff00fe00fe;
+  __m256i_out = __lasx_xvilvl_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_xvilvl_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000ff0102;
+  *((unsigned long *)&__m256i_op0[2]) = 0x007c000000810081;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000ff0102;
+  *((unsigned long *)&__m256i_op0[0]) = 0x007c000000810081;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7fe37fe3001d001d;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fff7fff7fff0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fe37fe3001d001d;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fff7fff7fff0000;
+  *((unsigned long *)&__m256i_result[3]) = 0x007c7fff00007fff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00817fff00810000;
+  *((unsigned long *)&__m256i_result[1]) = 0x007c7fff00007fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00817fff00810000;
+  __m256i_out = __lasx_xvilvl_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]) = 0x00000000001d001d;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000001d0000001d;
+  __m256i_out = __lasx_xvilvl_b (__m256i_op0, __m256i_op1);
+  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_op1[3]) = 0x7000700070007000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7000700070007000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000070007000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7000700070007000;
+  *((unsigned long *)&__m256i_result[3]) = 0xe070e000e070e000;
+  *((unsigned long *)&__m256i_result[2]) = 0xe070e000e070e000;
+  *((unsigned long *)&__m256i_result[1]) = 0xe070e000e070e000;
+  *((unsigned long *)&__m256i_result[0]) = 0xe070e000e070e000;
+  __m256i_out = __lasx_xvilvl_b (__m256i_op0, __m256i_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x003f003f003f0040;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x003f003f003f0040;
+  *((unsigned long *)&__m256i_result[3]) = 0x00003f3f00003f3f;
+  *((unsigned long *)&__m256i_result[2]) = 0x00003f3f00004040;
+  *((unsigned long *)&__m256i_result[1]) = 0x00003f3f00003f3f;
+  *((unsigned long *)&__m256i_result[0]) = 0x00003f3f00004040;
+  __m256i_out = __lasx_xvilvl_b (__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]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000100;
+  __m256i_out = __lasx_xvilvl_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]) = 0x0000000000000064;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffffe98;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000064;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000064;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000064;
+  __m256i_out = __lasx_xvilvl_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]) = 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_xvilvl_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_xvilvl_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_xvilvl_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]) = 0x000e000e000e000e;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000e000e000e000e;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000000e000e;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000e000e;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000e000e;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000e000e;
+  __m256i_out = __lasx_xvilvl_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000000e000e;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000e000e;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000000e000e;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000e000e;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000000e000e;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000e000e;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvilvl_d (__m256i_op0, __m256i_op1);
+  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]) = 0x00000a0080000b00;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000a0080000b00;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000a0080000b00;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000a0080000b00;
+  __m256i_out = __lasx_xvilvl_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_xvilvl_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfe01fe01fd02fd02;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000003fc03fc0;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfe01fe01fd02fd02;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000003fc03fc0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x3f00c0003f00c000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x3f00c0003f00c000;
+  __m256i_out = __lasx_xvilvl_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000001fffffff9;
+  *((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]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_result[2]) = 0x4980008068400000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_result[0]) = 0x4980008068400000;
+  __m256i_out = __lasx_xvilvl_d (__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]) = 0xf000f000f000f000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xf000f010f000f010;
+  *((unsigned long *)&__m256i_op1[1]) = 0xf000f000f000f000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xf000f010f000f010;
+  *((unsigned long *)&__m256i_result[3]) = 0x00f0000000f00010;
+  *((unsigned long *)&__m256i_result[2]) = 0xfff0ff00fff0ff10;
+  *((unsigned long *)&__m256i_result[1]) = 0x00f0000000f00010;
+  *((unsigned long *)&__m256i_result[0]) = 0xfff0ff00fff0ff10;
+  __m256i_out = __lasx_xvilvl_b (__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]) = 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_xvilvl_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]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvilvl_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvilvl_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]) = 0xffffffffffffffed;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffed;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffed;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffed;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffed;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffed;
+  __m256i_out = __lasx_xvilvl_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-xvinsgr2vr.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvinsgr2vr.c
new file mode 100644
index 00000000000..ce28c4857f3
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvinsgr2vr.c
@@ -0,0 +1,272 @@
+/* { 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]) = 0x8b1414140e0e0e0e;
+  *((unsigned long *)&__m256i_op0[2]) = 0x146014141414146e;
+  *((unsigned long *)&__m256i_op0[1]) = 0x36722a7e66972cd6;
+  *((unsigned long *)&__m256i_op0[0]) = 0xf19998668e5f4b84;
+  long_op1 = 0x0000007942652524;
+  *((unsigned long *)&__m256i_result[3]) = 0x8b1414140e0e0e0e;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000007942652524;
+  *((unsigned long *)&__m256i_result[1]) = 0x36722a7e66972cd6;
+  *((unsigned long *)&__m256i_result[0]) = 0xf19998668e5f4b84;
+  __m256i_out = __lasx_xvinsgr2vr_d (__m256i_op0, long_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]) = 0x0202020201010000;
+  int_op1 = 0x00000045eef14fe8;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000eef14fe8;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0202020201010000;
+  __m256i_out = __lasx_xvinsgr2vr_w (__m256i_op0, int_op1, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000200000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x012e2110012e2110;
+  int_op1 = 0x00000000000000ac;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000200000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000000ac;
+  *((unsigned long *)&__m256i_result[0]) = 0x012e2110012e2110;
+  __m256i_out = __lasx_xvinsgr2vr_w (__m256i_op0, int_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;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvinsgr2vr_w (__m256i_op0, int_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;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvinsgr2vr_w (__m256i_op0, int_op1, 0x0);
+  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;
+  long_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvinsgr2vr_d (__m256i_op0, long_op1, 0x0);
+  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]) = 0xff800000ff800000;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xff800000ff800000;
+  *((unsigned long *)&__m256i_result[2]) = 0xff800000ff800000;
+  *((unsigned long *)&__m256i_result[1]) = 0xff800000ff800000;
+  *((unsigned long *)&__m256i_result[0]) = 0xff80000000000000;
+  __m256i_out = __lasx_xvinsgr2vr_w (__m256i_op0, int_op1, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff0000ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff0000ff;
+  int_op1 = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffff0000ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffff0000ff;
+  __m256i_out = __lasx_xvinsgr2vr_w (__m256i_op0, int_op1, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xe800c000fffeeece;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff383efffedf0c;
+  *((unsigned long *)&__m256i_op0[1]) = 0xe800c000fffeeece;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff383efffedf0c;
+  int_op1 = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[3]) = 0xe800c000fffeeece;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff383e000000ff;
+  *((unsigned long *)&__m256i_result[1]) = 0xe800c000fffeeece;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff383efffedf0c;
+  __m256i_out = __lasx_xvinsgr2vr_w (__m256i_op0, int_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;
+  long_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvinsgr2vr_d (__m256i_op0, long_op1, 0x3);
+  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]) = 0x0020000000200000;
+  long_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0020002000200020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0020000000200000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0020002000200020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvinsgr2vr_d (__m256i_op0, long_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;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvinsgr2vr_w (__m256i_op0, int_op1, 0x5);
+  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;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_result[2]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000040404040;
+  *((unsigned long *)&__m256i_result[0]) = 0x4040404040404040;
+  __m256i_out = __lasx_xvinsgr2vr_w (__m256i_op0, int_op1, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000048;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000048;
+  long_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000048;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvinsgr2vr_d (__m256i_op0, long_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;
+  long_op1 = 0x00000000000000ff;
+  *((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_xvinsgr2vr_d (__m256i_op0, long_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;
+  long_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvinsgr2vr_d (__m256i_op0, long_op1, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffff7fffffff7;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffff7fffffff7;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffff7fffffff7;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffff7fffffff7;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffff7fffffff7;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffff7fffffff7;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffff700000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffff7fffffff7;
+  __m256i_out = __lasx_xvinsgr2vr_w (__m256i_op0, int_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;
+  long_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvinsgr2vr_d (__m256i_op0, long_op1, 0x0);
+  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;
+  int_op1 = 0x00000000090b0906;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000090b0906;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000d6d6d;
+  __m256i_out = __lasx_xvinsgr2vr_w (__m256i_op0, int_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;
+  int_op1 = 0x000000000000001e;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000001e00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvinsgr2vr_w (__m256i_op0, int_op1, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0005000500050005;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0005000500050005;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfefefefefefefefe;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0005000500050005;
+  *((unsigned long *)&__m256i_result[2]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000050005;
+  *((unsigned long *)&__m256i_result[0]) = 0xfefefefefefefefe;
+  __m256i_out = __lasx_xvinsgr2vr_w (__m256i_op0, int_op1, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvinsve0.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvinsve0.c
new file mode 100644
index 00000000000..644d2ce4ba2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvinsve0.c
@@ -0,0 +1,380 @@
+/* { 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]) = 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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvinsve0_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0005000500050005;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0005000500050005;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0005000500050005;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0005000500050005;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000050005;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvinsve0_w (__m256i_op0, __m256i_op1, 0x4);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000004fb;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((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_xvinsve0_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_xvinsve0_d (__m256i_op0, __m256i_op1, 0x1);
+  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]) = 0xfffffefefffffefe;
+  *((unsigned long *)&__m256i_op1[3]) = 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]) = 0xfffffefefffffefe;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffefe00000000;
+  __m256i_out = __lasx_xvinsve0_w (__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_xvinsve0_d (__m256i_op0, __m256i_op1, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000017;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000170017;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000017;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000170017;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000170017;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000017;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000170017;
+  __m256i_out = __lasx_xvinsve0_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_xvinsve0_d (__m256i_op0, __m256i_op1, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffefffffffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffefffffffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffefffffffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffefffffffe;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffffefffffffe;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000fffffffe;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffefffffffe;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffefffffffe;
+  __m256i_out = __lasx_xvinsve0_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]) = 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]) = 0x0000000040404040;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvinsve0_w (__m256i_op0, __m256i_op1, 0x2);
+  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_xvinsve0_w (__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_xvinsve0_w (__m256i_op0, __m256i_op1, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff000200000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff000200000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x001f00e0ff800000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x001f00e0ff800000;
+  *((unsigned long *)&__m256i_result[3]) = 0xff80000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff000200000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff000200000000;
+  __m256i_out = __lasx_xvinsve0_w (__m256i_op0, __m256i_op1, 0x7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff00000000;
+  *((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]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvinsve0_w (__m256i_op0, __m256i_op1, 0x2);
+  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]) = 0x9090909090909090;
+  *((unsigned long *)&__m256i_op1[2]) = 0x9090909090909090;
+  *((unsigned long *)&__m256i_op1[1]) = 0x9090909090909090;
+  *((unsigned long *)&__m256i_op1[0]) = 0x9090909090909090;
+  *((unsigned long *)&__m256i_result[3]) = 0x9090909090909090;
+  *((unsigned long *)&__m256i_result[2]) = 0x9090909090909090;
+  *((unsigned long *)&__m256i_result[1]) = 0x9090909090909090;
+  *((unsigned long *)&__m256i_result[0]) = 0x9090909090909090;
+  __m256i_out = __lasx_xvinsve0_d (__m256i_op0, __m256i_op1, 0x1);
+  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]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+  *((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_xvinsve0_d (__m256i_op0, __m256i_op1, 0x3);
+  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]) = 0x000040b200002fd4;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00007fff0000739c;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000040b200002fd4;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00007fff0000739c;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000739c;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000000ff;
+  __m256i_out = __lasx_xvinsve0_w (__m256i_op0, __m256i_op1, 0x2);
+  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]) = 0xffff800080000000;
+  *((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_result[3]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff800080000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffff800000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff800000000000;
+  __m256i_out = __lasx_xvinsve0_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvinsve0_w (__m256i_op0, __m256i_op1, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x6018000000000cd1;
+  *((unsigned long *)&__m256i_op0[2]) = 0x6040190d00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x6018000000000cd1;
+  *((unsigned long *)&__m256i_op0[0]) = 0x6040190d00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x04e8296f18181818;
+  *((unsigned long *)&__m256i_op1[2]) = 0x132feea900000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x04e8296f18181818;
+  *((unsigned long *)&__m256i_op1[0]) = 0x132feea900000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x6018000000000cd1;
+  *((unsigned long *)&__m256i_result[2]) = 0x6040190d00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x132feea900000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x6040190d00000000;
+  __m256i_out = __lasx_xvinsve0_d (__m256i_op0, __m256i_op1, 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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvinsve0_d (__m256i_op0, __m256i_op1, 0x3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000002000000020;
+  *((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]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000002000000020;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ff78ffc0;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000002000000020;
+  __m256i_out = __lasx_xvinsve0_d (__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]) = 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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000ffff0000ffff;
+  __m256i_out = __lasx_xvinsve0_d (__m256i_op0, __m256i_op1, 0x0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffff0020;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff8001ffff0001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffff0020;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff8001ffff0001;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffff0020;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff8001ffff0001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff8001ffff0001;
+  __m256i_out = __lasx_xvinsve0_w (__m256i_op0, __m256i_op1, 0x2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvprem.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvprem.c
new file mode 100644
index 00000000000..9346f9bfb41
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvprem.c
@@ -0,0 +1,20 @@
+/* { 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;
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpremi.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpremi.c
new file mode 100644
index 00000000000..9346f9bfb41
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpremi.c
@@ -0,0 +1,20 @@
+/* { 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;
+
+  return 0;
+}
-- 
2.20.1


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

* [PATCH v4 22/22] LoongArch: Add tests for ASX vector xvpackev/xvpackod/xvpickev/xvpickod/ xvpickve2gr/xvreplgr2vr/xvreplve/xvreplve0/xvreplvei/xvshuf4i/xvshuf instructions.
  2023-09-13  3:43 [PATCH v4 20/22] LoongArch: Add tests for ASX vector xvfcmp{saf/seq/sle/slt/sne/sor/sun} instructions Xiaolong Chen
  2023-09-13  3:43 ` [PATCH v4 21/22] LoongArch: Add tests for ASX vector xvext2xv/xvexth/xvextins/xvilvh/xvilvl/xvinsgr2vr/ xvinsve0/xvprem/xvpremi instructions Xiaolong Chen
@ 2023-09-13  3:43 ` Xiaolong Chen
  1 sibling, 0 replies; 3+ messages in thread
From: Xiaolong Chen @ 2023-09-13  3:43 UTC (permalink / raw)
  To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen

gcc/testsuite/ChangeLog:

	* gcc.target/loongarch/vector/lasx/lasx-xvpackev.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvpackod.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvpickev.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvpickod.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvpickve.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvpickve2gr.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvreplgr2vr.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvreplve.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvreplve0.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvreplvei.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvshuf4i_b.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvshuf_b.c: New test.
---
 .../loongarch/vector/lasx/lasx-xvpackev.c     | 501 ++++++++++++
 .../loongarch/vector/lasx/lasx-xvpackod.c     | 575 +++++++++++++
 .../loongarch/vector/lasx/lasx-xvpickev.c     | 515 ++++++++++++
 .../loongarch/vector/lasx/lasx-xvpickod.c     | 530 ++++++++++++
 .../loongarch/vector/lasx/lasx-xvpickve.c     | 130 +++
 .../loongarch/vector/lasx/lasx-xvpickve2gr.c  | 388 +++++++++
 .../loongarch/vector/lasx/lasx-xvreplgr2vr.c  | 380 +++++++++
 .../loongarch/vector/lasx/lasx-xvreplve.c     | 536 ++++++++++++
 .../loongarch/vector/lasx/lasx-xvreplve0.c    | 471 +++++++++++
 .../loongarch/vector/lasx/lasx-xvreplvei.c    |  20 +
 .../loongarch/vector/lasx/lasx-xvshuf4i_b.c   | 430 ++++++++++
 .../loongarch/vector/lasx/lasx-xvshuf_b.c     | 761 ++++++++++++++++++
 12 files changed, 5237 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpackev.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpackod.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickev.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickod.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickve.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickve2gr.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplgr2vr.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplve.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplve0.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplvei.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvshuf4i_b.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvshuf_b.c

diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpackev.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpackev.c
new file mode 100644
index 00000000000..33b96d657dc
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpackev.c
@@ -0,0 +1,501 @@
+/* { 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]) = 0x81f7f2599f0509c2;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x51136d3c78388916;
+  *((unsigned long *)&__m256i_op1[3]) = 0x044819410d87e69a;
+  *((unsigned long *)&__m256i_op1[2]) = 0x21d3905ae3e93be0;
+  *((unsigned long *)&__m256i_op1[1]) = 0x5125883a30da0f20;
+  *((unsigned long *)&__m256i_op1[0]) = 0x6d7b2d3ac2777aeb;
+  *((unsigned long *)&__m256i_result[3]) = 0x000019410000e69a;
+  *((unsigned long *)&__m256i_result[2]) = 0xf259905a09c23be0;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000883a00000f20;
+  *((unsigned long *)&__m256i_result[0]) = 0x6d3c2d3a89167aeb;
+  __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x4f8000004f800000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x4f7fffbf0000fe00;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000004f800000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x4f7fffe64f7fffc0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfe02fe02fee5fe22;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff49fe4200000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffbf0000fe000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000fe020000fe22;
+  *((unsigned long *)&__m256i_result[0]) = 0xffe6fe42ffc00000;
+  __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000000000ff80;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpackev_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xc06500550055ffab;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xc06500550055ffab;
+  *((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]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00550000ffab0001;
+  *((unsigned long *)&__m256i_result[1]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00550000ffab0001;
+  __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000001000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000001000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000001000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000001000000;
+  *((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]) = 0x0000000400000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000400000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000400000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000400000000;
+  __m256i_out = __lasx_xvpackev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff00000000000000;
+  *((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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffff;
+  __m256i_out = __lasx_xvpackev_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]) = 0x01fe01fe01fe01fe;
+  *((unsigned long *)&__m256i_op1[2]) = 0x01fe01fe01fe01fe;
+  *((unsigned long *)&__m256i_op1[1]) = 0x01fe01fe01fe01fe;
+  *((unsigned long *)&__m256i_op1[0]) = 0x01fe01fe00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x01fe01fe01fe01fe;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x01fe01fe00000000;
+  __m256i_out = __lasx_xvpackev_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_xvpackev_w (__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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x00ff00ffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00ff00ffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00ff00ffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00ff00ffffffffff;
+  __m256i_out = __lasx_xvpackev_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]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+  __m256i_out = __lasx_xvpackev_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_xvpackev_h (__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]) = 0x000000000154dc84;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000089;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000002a54290;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000154dc84;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000002a54290;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000089;
+  __m256i_out = __lasx_xvpackev_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_xvpackev_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]) = 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_xvpackev_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]) = 0x0000000000000003;
+  *((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_xvpackev_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_xvpackev_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x7f8000007f800000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fc000007fc00000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7f8000007f800000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fc000007fc00000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0080010000800100;
+  *((unsigned long *)&__m256i_result[2]) = 0x00c0000000c00000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0080010000800100;
+  *((unsigned long *)&__m256i_result[0]) = 0x00c0000000c00000;
+  __m256i_out = __lasx_xvpackev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000001fdfffffe02;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000001fefe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff01fefffeff02;
+  *((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]) = 0x0000000000ff00ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000fd00ffff02ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000001fffeff;
+  *((unsigned long *)&__m256i_result[0]) = 0xff00fe00feff02ff;
+  __m256i_out = __lasx_xvpackev_b (__m256i_op0, __m256i_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffee0000004c0000;
+  *((unsigned long *)&__m256i_result[2]) = 0xff050000ff3c0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00f9000000780000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffa80000ff310000;
+  __m256i_out = __lasx_xvpackev_h (__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]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+  *((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_xvpackev_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]) = 0x0000001d0000001d;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00001d0000001d00;
+  __m256i_out = __lasx_xvpackev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffe20001dfe1f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffe20001dfe1f;
+  *((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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00003fe000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00003fe000000000;
+  __m256i_out = __lasx_xvpackev_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_xvpackev_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_xvpackev_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_xvpackev_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]) = 0x00ffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00ffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00000000;
+  __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x6);
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000ff890000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ff790000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ff890000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ff790000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ff790000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ff790000;
+  __m256i_out = __lasx_xvpackev_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000100;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((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_xvpackev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x41dffbffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffff00ff800000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x41dffbffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffff00ff800000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xfbff0000ffff0000;
+  *((unsigned long *)&__m256i_result[2]) = 0xff00000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xfbff0000ffff0000;
+  *((unsigned long *)&__m256i_result[0]) = 0xff00000000000000;
+  __m256i_out = __lasx_xvpackev_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_xvpackev_w (__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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000007b007e;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000007b007e;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffe700000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffe7007b007e;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffe700000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffe7007b007e;
+  __m256i_out = __lasx_xvpackev_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]) = 0x0000000008000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0003fffc0803fff8;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000008000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0003fffc0803fff8;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000fffc0000fff8;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000fffc0000fff8;
+  __m256i_out = __lasx_xvpackev_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-xvpackod.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpackod.c
new file mode 100644
index 00000000000..cdd20e8813d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpackod.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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
+  *((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]) = 0x7f057f0b7f5b007f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7f00ff00ff00ff00;
+  *((unsigned long *)&__m256i_result[0]) = 0x7f7fff7fff7fff00;
+  __m256i_out = __lasx_xvpackod_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007fffffff;
+  __m256i_out = __lasx_xvpackod_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffff5f5c;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000fff00000fff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000fff00000fff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000fff00000fff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000fff00000fff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_result[2]) = 0xff00ff0fff005f0f;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000f0000000f;
+  *((unsigned long *)&__m256i_result[0]) = 0xff00ff0fff005f0f;
+  __m256i_out = __lasx_xvpackod_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_xvpackod_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvpackod_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]) = 0xffffffff000607f7;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000010017e7d1;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffff000607f7;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000001001807f1;
+  *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00000007;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000000e7;
+  *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00000007;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000007;
+  __m256i_out = __lasx_xvpackod_b (__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]) = 0x555555553f800000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x555555553f800000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0006000000040000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0006000000040000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpackod_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]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpackod_h (__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]) = 0x0000000000005400;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000005400;
+  __m256i_out = __lasx_xvpackod_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]) = 0xffffffff00000000;
+  *((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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvpackod_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_xvpackod_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]) = 0x0007fff8000ffff0;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000007fff8;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0007fff8000ffff0;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000007fff8;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0007fff8000ffff0;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0007fff8000ffff0;
+  __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffefffef00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffefffefffefffef;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffefffef00000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffefffefffefffef;
+  *((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]) = 0xff00ff0000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256i_result[1]) = 0xff00ff0000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xff00ff00ff00ff00;
+  __m256i_out = __lasx_xvpackod_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]) = 0x0000f0000000f000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000f0000000f000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000f0000000f000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000f0000000f000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000f0000000f000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000f0000000f000;
+  __m256i_out = __lasx_xvpackod_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_xvpackod_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fefffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpackod_d (__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]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+  *((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_xvpackod_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_xvpackod_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7575757575757575;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7575757575757575;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7575757575757575;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7575757575757575;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x7575757575757575;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7575757575757575;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000c8;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000c8;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpackod_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_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 *)&__m256i_op1[3]) = 0x0000000022beb03f;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffa2beb040;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000022beb03f;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffa2beb040;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000022be22be;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff7fffa2bea2be;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000022be22be;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fff7fffa2bea2be;
+  __m256i_out = __lasx_xvpackod_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]) = 0xfff10000fff10000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfff10000fff10000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfff10000fff10000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfff10000fff10000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xfff10000fff10000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xfff10000fff10000;
+  __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+  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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((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_xvpackod_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000200000008;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000200000008;
+  *((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]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000ff0000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000ff0000000000;
+  __m256i_out = __lasx_xvpackod_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_xvpackod_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000555500005555;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000555500005555;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000555500005555;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000555500005555;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpackod_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]) = 0x0000fffcfffcfffc;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000fffcfffcfffc;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpackod_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_xvpackod_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_xvpackod_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000a0008;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000a0008;
+  *((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]) = 0x0000000080000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000080000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpackod_w (__m256i_op0, __m256i_op1);
+  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_op1[3]) = 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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000fff8ffc0;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ff00fff8ffc0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000fff8ffc0;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000ff00fff8ffc0;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000fff80000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000fff80000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000fff80000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000fff80000;
+  __m256i_out = __lasx_xvpackod_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]) = 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_xvpackod_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffff0000;
+  *((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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+  __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000005;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000005;
+  *((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_xvpackod_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_xvpackod_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]) = 0x7fff00017fff0000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7fff00017fff0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fff00017fff0000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7fff00017fff0000;
+  *((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_xvpackod_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-xvpickev.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickev.c
new file mode 100644
index 00000000000..66faa74d0ca
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickev.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]) = 0x7fffff90ffffff81;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fffff90ffffff81;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000000000007f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000007f;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ff90ff81;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000007f;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ff90ff81;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000007f;
+  __m256i_out = __lasx_xvpickev_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_xvpickev_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffe81;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffe81;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpickev_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000001341c4000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000001000310000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000033e87ef1;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000002e2100;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000011c00;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000e8f1;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000103100;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000002e00;
+  __m256i_out = __lasx_xvpickev_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_xvpickev_h (__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]) = 0x0000000002a54290;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000002a54290;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000004290;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000004290;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000004290;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000004290;
+  __m256i_out = __lasx_xvpickev_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_xvpickev_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_xvpickev_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_xvpickev_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]) = 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_xvpickev_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]) = 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]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+  __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0xbfbfbfbfbfbfbfbf;
+  *((unsigned long *)&__m256i_op1[2]) = 0xbfbfbfbfbfbfbfbf;
+  *((unsigned long *)&__m256i_op1[1]) = 0xbfbfbfbfbfbfbfbf;
+  *((unsigned long *)&__m256i_op1[0]) = 0xbfbfbfbfbfbfbfbf;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xbfbfbfbfbfbfbfbf;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xbfbfbfbfbfbfbfbf;
+  __m256i_out = __lasx_xvpickev_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]) = 0x0000000000010000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000010000;
+  __m256i_out = __lasx_xvpickev_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_xvpickev_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]) = 0xa020202020202020;
+  *((unsigned long *)&__m256i_op1[2]) = 0xa020202020206431;
+  *((unsigned long *)&__m256i_op1[1]) = 0xa020202020202020;
+  *((unsigned long *)&__m256i_op1[0]) = 0xa020202020206431;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x2020202020202031;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x2020202020202031;
+  __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0004040404000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0004040404000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0004040404000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0004040404000000;
+  *((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]) = 0x0404000004040000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[1]) = 0x0404000004040000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvpickev_b (__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]) = 0xf800d0d8ffffeecf;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000383fffffdf0d;
+  *((unsigned long *)&__m256i_op1[1]) = 0xf800d0d8ffffeecf;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000383fffffdf0d;
+  *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[2]) = 0xd0d8eecf383fdf0d;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[0]) = 0xd0d8eecf383fdf0d;
+  __m256i_out = __lasx_xvpickev_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]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000ff000000ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+  __m256i_out = __lasx_xvpickev_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_xvpickev_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xdf80ff20df80ff20;
+  *((unsigned long *)&__m256i_op0[2]) = 0xdfc2ff20df80ffa7;
+  *((unsigned long *)&__m256i_op0[1]) = 0xdf80ff20df80ff20;
+  *((unsigned long *)&__m256i_op0[0]) = 0xdfc2ff20df80ffa7;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x80208020c22080a7;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x80208020c22080a7;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpickev_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvpickev_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_xvpickev_b (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000040000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000040000;
+  *((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]) = 0x0000000000000400;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000400;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvpickev_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]) = 0xffe0047d00e00480;
+  *((unsigned long *)&__m256i_op1[2]) = 0x001fc0200060047a;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffe0047d00e00480;
+  *((unsigned long *)&__m256i_op1[0]) = 0x001fc0200060047a;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xe07de0801f20607a;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xe07de0801f20607a;
+  __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+  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]) = 0x0000000400000004;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000400000004;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpickev_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]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((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_xvpickev_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_xvpickev_b (__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]) = 0x8000800080010000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000800080010000;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000800080010000;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000800080010000;
+  __m256i_out = __lasx_xvpickev_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_xvpickev_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]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000001fffffff9;
+  *((unsigned long *)&__m256i_result[3]) = 0x9ffffd8020010001;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffff9fffffff9;
+  *((unsigned long *)&__m256i_result[1]) = 0x9ffffd8020010001;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffff9fffffff9;
+  __m256i_out = __lasx_xvpickev_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]) = 0x00000000ffffffff;
+  *((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]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+  __m256i_out = __lasx_xvpickev_b (__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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000060002000a;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000060002000a;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvpickev_w (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fffffff80000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fffffff80000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fffffff80000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fffffff80000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_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_xvpickev_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-xvpickod.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickod.c
new file mode 100644
index 00000000000..a9778809fda
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickod.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]) = 0x0003f8040002f607;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0002728b00000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffffff328dfff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x6651bfff00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0003f8040002f607;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffff328dfff;
+  __m256i_out = __lasx_xvpickod_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0080200000802000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0080200000802000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00200020ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x1e0000001e000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00200020ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x1e0000001e000000;
+  __m256i_out = __lasx_xvpickod_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]) = 0x0080200000802000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0080200000802000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00800080ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00800080ffffffff;
+  __m256i_out = __lasx_xvpickod_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvpickod_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_xvpickod_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_xvpickod_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_xvpickod_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvpickod_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]) = 0x0004000400040004;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffff8c80;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000fffffe40;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000040004;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpickod_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_xvpickod_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]) = 0x00000000ffffffff;
+  *((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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0400040004000400;
+  __m256i_out = __lasx_xvpickod_h (__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]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff017e00ff;
+  *((unsigned long *)&__m256i_op1[1]) = 0x017e00ff017e01fe;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff017e00ff;
+  *((unsigned long *)&__m256i_result[3]) = 0xb70012c4b714fc1e;
+  *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff00ff017e;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000fe02b71c199d;
+  *((unsigned long *)&__m256i_result[0]) = 0x017e017e00ff017e;
+  __m256i_out = __lasx_xvpickod_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xc080ffff0049ffd2;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0049ffd2;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000fffeffb9ff9d;
+  *((unsigned long *)&__m256i_op0[0]) = 0x01620133004b0032;
+  *((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]) = 0xc080ffff0049ffd2;
+  *((unsigned long *)&__m256i_result[2]) = 0x0002ff80ffb70000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000fffeffb9ff9d;
+  *((unsigned long *)&__m256i_result[0]) = 0x00010000002fff9e;
+  __m256i_out = __lasx_xvpickod_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]) = 0xbabababababababa;
+  *((unsigned long *)&__m256i_op1[2]) = 0xbabababababababa;
+  *((unsigned long *)&__m256i_op1[1]) = 0xbabababababababa;
+  *((unsigned long *)&__m256i_op1[0]) = 0xbabababababababa;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xbabababababababa;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xbabababababababa;
+  __m256i_out = __lasx_xvpickod_d (__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]) = 0x000000003f3f3f3c;
+  *((unsigned long *)&__m256i_op1[2]) = 0xc6c6c6c68787878a;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000003f3f3f3c;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8787878a00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00003f3fc6c68787;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00003f3f87870000;
+  __m256i_out = __lasx_xvpickod_b (__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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000007fff003f;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000007fff003f;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000007fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000007fff;
+  __m256i_out = __lasx_xvpickod_h (__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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xf7f7f7f7f7f7f7f7;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpickod_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000002467db99;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000003e143852;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000002467db99;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000003e143852;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000044444443;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7bbbbbbbf7777778;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000044444443;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7bbbbbbbf7777778;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000246700003e14;
+  *((unsigned long *)&__m256i_result[2]) = 0x000044447bbbf777;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000246700003e14;
+  *((unsigned long *)&__m256i_result[0]) = 0x000044447bbbf777;
+  __m256i_out = __lasx_xvpickod_h (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000005;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000005;
+  *((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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0006000000020000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0006000000020000;
+  __m256i_out = __lasx_xvpickod_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvpickod_b (__m256i_op0, __m256i_op1);
+  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_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpickod_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]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xbff00000bff00000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xbff00000bff00000;
+  __m256i_out = __lasx_xvpickod_h (__m256i_op0, __m256i_op1);
+  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_result[3]) = 0x9ff87f7f7f807f7f;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x9ff87f7f7f807f7f;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpickod_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_xvpickod_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_xvpickod_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_xvpickod_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_xvpickod_d (__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]) = 0xfffffffffffffe98;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000064;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffe98;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpickod_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_xvpickod_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_xvpickod_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000007f0000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000007f0000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((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]) = 0x0000007f00000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000007f00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000007f00000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000007f00000000;
+  __m256i_out = __lasx_xvpickod_h (__m256i_op0, __m256i_op1);
+  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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpickod_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpickod_d (__m256i_op0, __m256i_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x1c1c1c1c1c1c1c1c;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1c1c1c1c1c1c1c1c;
+  *((unsigned long *)&__m256i_op0[1]) = 0x1c1c1c1c1c1c1c1c;
+  *((unsigned long *)&__m256i_op0[0]) = 0x1c1c1c1c1c1c1c1c;
+  *((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]) = 0x1c1c1c1c1c1c1c1c;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x1c1c1c1c1c1c1c1c;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvpickod_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-xvpickve.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickve.c
new file mode 100644
index 00000000000..a2edbb80ac3
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickve.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]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[1]) = 0x010180068080fff9;
+  *((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]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvpickve_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvpickve_w (__m256i_op0, 0x0);
+  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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000c40086;
+  __m256i_out = __lasx_xvpickve_d (__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_xvpickve_d (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0002000200020002;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff820002ff820002;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0002000200020002;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff820002ff820002;
+  *((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_xvpickve_d (__m256i_op0, 0x3);
+  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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x4000000000000000;
+  __m256i_out = __lasx_xvpickve_d (__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_xvpickve_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_xvpickve_d (__m256i_op0, 0x2);
+  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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvpickve_w (__m256i_op0, 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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvpickve_w (__m256i_op0, 0x1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickve2gr.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickve2gr.c
new file mode 100644
index 00000000000..8bd3a827356
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickve2gr.c
@@ -0,0 +1,388 @@
+/* { 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]) = 0x0cc08723ff900001;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xcc9b89f2f6cef440;
+  int_result = 0x0000000000000000;
+  int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x7);
+  ASSERTEQ_int (__LINE__, int_result, int_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;
+  int_result = 0x000000000000ffff;
+  int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x6);
+  ASSERTEQ_int (__LINE__, int_result, int_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_int_result = 0x0000000000000000;
+  unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x3);
+  ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_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;
+  int_result = 0x000000000000007f;
+  int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x4);
+  ASSERTEQ_int (__LINE__, int_result, int_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;
+  int_result = 0x00000000ffffffff;
+  int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x1);
+  ASSERTEQ_int (__LINE__, int_result, int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  unsigned_int_result = 0x0000000000000000;
+  unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x2);
+  ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffefdfffffefd;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  int_result = 0x00000000fffffefd;
+  int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x4);
+  ASSERTEQ_int (__LINE__, int_result, int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  long_int_result = 0x0000000000000000;
+  long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x2);
+  ASSERTEQ_int (__LINE__, long_int_result, long_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x555555553f800000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x5555555580000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x555555553f800000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x5555555580000000;
+  int_result = 0x0000000055555555;
+  int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x5);
+  ASSERTEQ_int (__LINE__, int_result, int_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;
+  long_int_result = 0x0000000000000000;
+  long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x2);
+  ASSERTEQ_int (__LINE__, long_int_result, long_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0002000400000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0002000200020006;
+  unsigned_int_result = 0x0000000000020006;
+  unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x0);
+  ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x1f0fdf7f3e3b31d4;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x1f0fdf7f3e3b31d4;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7ff8000000000000;
+  long_int_result = 0x1f0fdf7f3e3b31d4;
+  long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x1);
+  ASSERTEQ_int (__LINE__, long_int_result, long_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  unsigned_long_int_result = 0x0000000000000000;
+  unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x3);
+  ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00fe01fc01fe01fc;
+  *((unsigned long *)&__m256i_op0[2]) = 0x012c002c001c0006;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00fe01fc01fe0000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x012c002c001c000a;
+  long_int_result = 0xfe01fc01fe0000;
+  long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x1);
+  ASSERTEQ_int (__LINE__, long_int_result, long_int_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_int_result = 0x00000000ffffffff;
+  unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x2);
+  ASSERTEQ_int (__LINE__, unsigned_long_int_out, unsigned_long_int_out);
+
+  *((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_result = 0x0000000000000000;
+  int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x0);
+  ASSERTEQ_int (__LINE__, int_result, int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  unsigned_long_int_result = 0x0000000000000000;
+  unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x3);
+  ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+  *((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_result = 0x0000000000000000;
+  int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x5);
+  ASSERTEQ_int (__LINE__, int_result, int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffff0100;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+  long_int_result = 0x00000000ffff0100;
+  long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x1);
+  ASSERTEQ_int (__LINE__, long_int_result, long_int_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;
+  int_result = 0x000000007ff00000;
+  int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x1);
+  ASSERTEQ_int (__LINE__, int_result, int_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_int_result = 0x00000000ffffffff;
+  unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x0);
+  ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  unsigned_long_int_result = 0x0000000000000000;
+  unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x2);
+  ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_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;
+  int_result = 0x0000000000000000;
+  int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x6);
+  ASSERTEQ_int (__LINE__, int_result, int_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_int_result = 0xffffffffffffffff;
+  unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x1);
+  ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  unsigned_int_result = 0x0000000000000000;
+  unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x5);
+  ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffff0100000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffff0100000001;
+  unsigned_int_result = 0x0000000000000000;
+  unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x7);
+  ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_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;
+  int_result = 0x0000000000000000;
+  int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x6);
+  ASSERTEQ_int (__LINE__, int_result, int_out);
+
+  *((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_result = 0x0000000000000000;
+  int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x1);
+  ASSERTEQ_int (__LINE__, int_result, int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  long_int_result = 0x0000000000000000;
+  long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x0);
+  ASSERTEQ_int (__LINE__, long_int_result, long_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  long_int_result = 0x0000000000000000;
+  long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x2);
+  ASSERTEQ_int (__LINE__, long_int_result, long_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+  long_int_result = 0x000000000000ffff;
+  long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x0);
+  ASSERTEQ_int (__LINE__, long_int_result, long_int_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_int_result = 0x0000000000100010;
+  unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x2);
+  ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  unsigned_int_result = 0x0000000000000000;
+  unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x3);
+  ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  unsigned_long_int_result = 0x0000000000000000;
+  unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x1);
+  ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000100040;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000100040;
+  unsigned_int_result = 0x0000000000000040;
+  unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x6);
+  ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  unsigned_long_int_result = 0x0000000000000000;
+  unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x2);
+  ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  unsigned_long_int_result = 0x0000000000000000;
+  unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x3);
+  ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+  *((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_result = 0x0000000000000000;
+  int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x6);
+  ASSERTEQ_int (__LINE__, int_result, int_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;
+  long_int_result = 0xffffffffffffffff;
+  long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x0);
+  ASSERTEQ_int (__LINE__, long_int_result, long_int_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_int_result = 0x00000000ffffffff;
+  unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x5);
+  ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_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_int_result = 0x00000000ffffffff;
+  unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x4);
+  ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  unsigned_long_int_result = 0x0000000000000000;
+  unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x1);
+  ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  unsigned_long_int_result = 0x0000000000000000;
+  unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x3);
+  ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+  *((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_result = 0x0000000000000000;
+  int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x0);
+  ASSERTEQ_int (__LINE__, int_result, int_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;
+  int_result = 0x00000000ffffffff;
+  int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x2);
+  ASSERTEQ_int (__LINE__, int_result, int_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffd880;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffd880;
+  int_result = 0x0000000000000000;
+  int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x2);
+  ASSERTEQ_int (__LINE__, int_result, int_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplgr2vr.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplgr2vr.c
new file mode 100644
index 00000000000..81456bc1bbd
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplgr2vr.c
@@ -0,0 +1,380 @@
+/* { 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_op0 = 0x0000001b3c4c0a5c;
+  *((unsigned long *)&__m256i_result[3]) = 0x3c4c0a5c3c4c0a5c;
+  *((unsigned long *)&__m256i_result[2]) = 0x3c4c0a5c3c4c0a5c;
+  *((unsigned long *)&__m256i_result[1]) = 0x3c4c0a5c3c4c0a5c;
+  *((unsigned long *)&__m256i_result[0]) = 0x3c4c0a5c3c4c0a5c;
+  __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000397541c58;
+  *((unsigned long *)&__m256i_result[3]) = 0x97541c5897541c58;
+  *((unsigned long *)&__m256i_result[2]) = 0x97541c5897541c58;
+  *((unsigned long *)&__m256i_result[1]) = 0x97541c5897541c58;
+  *((unsigned long *)&__m256i_result[0]) = 0x97541c5897541c58;
+  __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  long_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000400;
+  *((unsigned long *)&__m256i_result[3]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_result[2]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_result[1]) = 0x0400040004000400;
+  *((unsigned long *)&__m256i_result[0]) = 0x0400040004000400;
+  __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000001;
+  *((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_xvreplgr2vr_b (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_b (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000084;
+  *((unsigned long *)&__m256i_result[3]) = 0x0084008400840084;
+  *((unsigned long *)&__m256i_result[2]) = 0x0084008400840084;
+  *((unsigned long *)&__m256i_result[1]) = 0x0084008400840084;
+  *((unsigned long *)&__m256i_result[0]) = 0x0084008400840084;
+  __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 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_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  long_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_b (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x00000000000000ff;
+  *((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_xvreplgr2vr_w (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000020202020;
+  *((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_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000020202020;
+  *((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_xvreplgr2vr_w (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_b (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  long_op0 = 0x0000000020202020;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000020202020;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000020202020;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000020202020;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000020202020;
+  __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  long_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  long_op0 = 0x0000000000020006;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000020006;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000020006;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000020006;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000020006;
+  __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x00000000000000ff;
+  *((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_xvreplgr2vr_w (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  long_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_b (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  long_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  long_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x00000000000000ff;
+  *((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_xvreplgr2vr_w (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  long_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  long_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  long_op0 = 0x0000000000020006;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000020006;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000020006;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000020006;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000020006;
+  __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 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_xvreplgr2vr_h (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  int_op0 = 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_xvreplgr2vr_w (int_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplve.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplve.c
new file mode 100644
index 00000000000..7aa76c2baf6
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplve.c
@@ -0,0 +1,536 @@
+/* { 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;
+  int_op1 = 0x0000001b3c4c0a5c;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffefb;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffefb;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000fe;
+  int_op1 = 0x0000000059815d00;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000000000fe;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000000000fe;
+  __m256i_out = __lasx_xvreplve_d (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+  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;
+  int_op1 = 0x000000000000ffff;
+  *((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_xvreplve_d (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+  __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000012e2110;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0202020202020202;
+  *((unsigned long *)&__m256i_result[2]) = 0x0202020202020202;
+  *((unsigned long *)&__m256i_result[1]) = 0x1010101010101010;
+  *((unsigned long *)&__m256i_result[0]) = 0x1010101010101010;
+  __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000003f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000003f;
+  int_op1 = 0x0000000000000400;
+  *((unsigned long *)&__m256i_result[3]) = 0x003f003f003f003f;
+  *((unsigned long *)&__m256i_result[2]) = 0x003f003f003f003f;
+  *((unsigned long *)&__m256i_result[1]) = 0x003f003f003f003f;
+  *((unsigned long *)&__m256i_result[0]) = 0x003f003f003f003f;
+  __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x003f003f003f003f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x003f003f003f003f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x003f003f003f003f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x003f003f003f003f;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x003f003f003f003f;
+  *((unsigned long *)&__m256i_result[2]) = 0x003f003f003f003f;
+  *((unsigned long *)&__m256i_result[1]) = 0x003f003f003f003f;
+  *((unsigned long *)&__m256i_result[0]) = 0x003f003f003f003f;
+  __m256i_out = __lasx_xvreplve_w (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000003f0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000003f0000;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_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;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xe161616161614e60;
+  *((unsigned long *)&__m256i_result[2]) = 0xe161616161614e60;
+  *((unsigned long *)&__m256i_result[1]) = 0xe161616161614e60;
+  *((unsigned long *)&__m256i_result[0]) = 0xe161616161614e60;
+  __m256i_out = __lasx_xvreplve_d (__m256i_op0, int_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;
+  int_op1 = 0x00000000000000ac;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000080;
+  __m256i_out = __lasx_xvreplve_d (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x0000000000000400;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff00d5007f00ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff00ffffff00ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff00d5007f00ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff00ffffff00ffff;
+  int_op1 = 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_xvreplve_h (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 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_xvreplve_d (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_w (__m256i_op0, int_op1);
+  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;
+  int_op1 = 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_xvreplve_w (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffff7fffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffff7fffff;
+  int_op1 = 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_xvreplve_b (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xc192181230000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xc192181230000000;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000ff00ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000ff00ff;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000ff00ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000ff00ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000ff00ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000ff00ff;
+  __m256i_out = __lasx_xvreplve_d (__m256i_op0, int_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;
+  int_op1 = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fef7fef7fef7fef;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fef7fef7fef7fef;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fef7fef7fef7fef;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fef7fef7fef7fef;
+  __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffff00ffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffff00ffffffff;
+  int_op1 = 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_xvreplve_b (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fe37fe3001d001d;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff7fff0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fe37fe3001d001d;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff7fff0000;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x007f010700c70106;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x007f010700c70106;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0106010601060106;
+  *((unsigned long *)&__m256i_result[2]) = 0x0106010601060106;
+  *((unsigned long *)&__m256i_result[1]) = 0x0106010601060106;
+  *((unsigned long *)&__m256i_result[0]) = 0x0106010601060106;
+  __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_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;
+  int_op1 = 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_xvreplve_w (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_d (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x00000000000000ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000003fff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000003fff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000003fff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000003fff;
+  int_op1 = 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_xvreplve_b (__m256i_op0, int_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;
+  int_op1 = 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_xvreplve_b (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000001010101;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000404;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000001010101;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000404;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0404040404040404;
+  *((unsigned long *)&__m256i_result[2]) = 0x0404040404040404;
+  *((unsigned long *)&__m256i_result[1]) = 0x0404040404040404;
+  *((unsigned long *)&__m256i_result[0]) = 0x0404040404040404;
+  __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000800080;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000202;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000800080;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000202;
+  int_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000202;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000202;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000202;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000202;
+  __m256i_out = __lasx_xvreplve_d (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x000000003ddc5dac;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_d (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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_op1 = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+  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;
+  int_op1 = 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_xvreplve_b (__m256i_op0, int_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplve0.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplve0.c
new file mode 100644
index 00000000000..a2bc2da521d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplve0.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 *)&__m256i_op0[3]) = 0xfffffffeffffff88;
+  *((unsigned long *)&__m256i_op0[2]) = 0x61e0000000000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffeffffff88;
+  *((unsigned long *)&__m256i_op0[0]) = 0x61e0000000000001;
+  *((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_xvreplve0_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffff80fe;
+  *((unsigned long *)&__m256i_op0[2]) = 0xd52aaaaa555555ab;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffff80fe;
+  *((unsigned long *)&__m256i_op0[0]) = 0xd52aaaaa555555ab;
+  *((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_xvreplve0_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_xvreplve0_h (__m256i_op0);
+  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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvreplve0_b (__m256i_op0);
+  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_result[3]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_result[2]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_result[1]) = 0x8080808080808080;
+  *((unsigned long *)&__m256i_result[0]) = 0x8080808080808080;
+  __m256i_out = __lasx_xvreplve0_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x3fff3fff3fff3fff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000003fff3fff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x3fff3fff3fff4000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000403f3fff;
+  *((unsigned long *)&__m256i_result[3]) = 0x3fff3fff3fff3fff;
+  *((unsigned long *)&__m256i_result[2]) = 0x3fff3fff3fff3fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x3fff3fff3fff3fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x3fff3fff3fff3fff;
+  __m256i_out = __lasx_xvreplve0_h (__m256i_op0);
+  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_xvreplve0_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000000080000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000080000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000080000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000080000001;
+  __m256i_out = __lasx_xvreplve0_d (__m256i_op0);
+  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]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[2]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[1]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_result[0]) = 0x2020202020202020;
+  __m256i_out = __lasx_xvreplve0_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_xvreplve0_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_xvreplve0_q (__m256i_op0);
+  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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve0_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000ff00ff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0007fd00000f02ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000001fffeff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff00fe00feff02ff;
+  *((unsigned long *)&__m256i_result[3]) = 0xff00fe00feff02ff;
+  *((unsigned long *)&__m256i_result[2]) = 0xff00fe00feff02ff;
+  *((unsigned long *)&__m256i_result[1]) = 0xff00fe00feff02ff;
+  *((unsigned long *)&__m256i_result[0]) = 0xff00fe00feff02ff;
+  __m256i_out = __lasx_xvreplve0_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_xvreplve0_h (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfc00ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000100fe000100fe;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfc00ffff0000ffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000100fe000100fe;
+  *((unsigned long *)&__m256i_result[3]) = 0x00fe00fe00fe00fe;
+  *((unsigned long *)&__m256i_result[2]) = 0x00fe00fe00fe00fe;
+  *((unsigned long *)&__m256i_result[1]) = 0x00fe00fe00fe00fe;
+  *((unsigned long *)&__m256i_result[0]) = 0x00fe00fe00fe00fe;
+  __m256i_out = __lasx_xvreplve0_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_xvreplve0_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_xvreplve0_h (__m256i_op0);
+  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]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_result[2]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_result[1]) = 0x4040404040404040;
+  *((unsigned long *)&__m256i_result[0]) = 0x4040404040404040;
+  __m256i_out = __lasx_xvreplve0_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_xvreplve0_q (__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_xvreplve0_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000064;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000781;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000064;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000064;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000064;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000064;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000064;
+  __m256i_out = __lasx_xvreplve0_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffe20001dfe1f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffe20001dfe1f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffe20001dfe1f;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffe20001dfe1f;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve0_q (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffe20001dfe1f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffe20001dfe1f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xfffffe20001dfe1f;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffe20001dfe1f;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvreplve0_q (__m256i_op0);
+  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_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvreplve0_b (__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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvreplve0_q (__m256i_op0);
+  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]) = 0x047a047a047a047a;
+  *((unsigned long *)&__m256i_result[2]) = 0x047a047a047a047a;
+  *((unsigned long *)&__m256i_result[1]) = 0x047a047a047a047a;
+  *((unsigned long *)&__m256i_result[0]) = 0x047a047a047a047a;
+  __m256i_out = __lasx_xvreplve0_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_xvreplve0_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x037fe01f001fe020;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x037fe01f001fe020;
+  *((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_xvreplve0_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_xvreplve0_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff0d0d0d0d0d0d0d;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0d0d0d0d0d0d0d0d;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff0d0d0d0d0d0d0d;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0d0d0d0d0d0d0d0d;
+  *((unsigned long *)&__m256i_result[3]) = 0x0d0d0d0d0d0d0d0d;
+  *((unsigned long *)&__m256i_result[2]) = 0x0d0d0d0d0d0d0d0d;
+  *((unsigned long *)&__m256i_result[1]) = 0x0d0d0d0d0d0d0d0d;
+  *((unsigned long *)&__m256i_result[0]) = 0x0d0d0d0d0d0d0d0d;
+  __m256i_out = __lasx_xvreplve0_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_xvreplve0_h (__m256i_op0);
+  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_result[3]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_result[2]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_result[1]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_result[0]) = 0x0202010202020102;
+  __m256i_out = __lasx_xvreplve0_d (__m256i_op0);
+  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_result[3]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff00ff00ff;
+  __m256i_out = __lasx_xvreplve0_h (__m256i_op0);
+  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_result[3]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_result[2]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_result[1]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_result[0]) = 0xfffffffe00000001;
+  __m256i_out = __lasx_xvreplve0_d (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x800080ff800080ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x800080ff800080ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x800080ff800080ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x800080ff800080ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x800080ff800080ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x800080ff800080ff;
+  __m256i_out = __lasx_xvreplve0_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_xvreplve0_q (__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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvreplve0_q (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff97a2;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffff97a2;
+  *((unsigned long *)&__m256i_result[3]) = 0x97a297a297a297a2;
+  *((unsigned long *)&__m256i_result[2]) = 0x97a297a297a297a2;
+  *((unsigned long *)&__m256i_result[1]) = 0x97a297a297a297a2;
+  *((unsigned long *)&__m256i_result[0]) = 0x97a297a297a297a2;
+  __m256i_out = __lasx_xvreplve0_h (__m256i_op0);
+  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]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+  __m256i_out = __lasx_xvreplve0_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_xvreplve0_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_xvreplve0_b (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplvei.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplvei.c
new file mode 100644
index 00000000000..9346f9bfb41
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplvei.c
@@ -0,0 +1,20 @@
+/* { 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;
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvshuf4i_b.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvshuf4i_b.c
new file mode 100644
index 00000000000..c8a00ca89fd
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvshuf4i_b.c
@@ -0,0 +1,430 @@
+/* { 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]) = 0x00007ffffffff7ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x49d8080067f4f81f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00007f00fffff7ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xd8490849f467f867;
+  __m256i_out = __lasx_xvshuf4i_b (__m256i_op0, 0xb7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 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_xvshuf4i_b (__m256i_op0, 0xdb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 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_xvshuf4i_b (__m256i_op0, 0x95);
+  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]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvshuf4i_b (__m256i_op0, 0xee);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 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_xvshuf4i_b (__m256i_op0, 0x2f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 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_xvshuf4i_b (__m256i_op0, 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_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvshuf4i_b (__m256i_op0, 0x23);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00007ffffffff7ff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x49d8080067f4f81f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7ffff7ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x080008000800f81f;
+  __m256i_out = __lasx_xvshuf4i_h (__m256i_op0, 0xa8);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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]) = 0xc5c4c5c5c5c5c5c5;
+  *((unsigned long *)&__m256i_result[2]) = 0xc5c545c545c545c5;
+  *((unsigned long *)&__m256i_result[1]) = 0xc5c4c5c5c5c5c5c5;
+  *((unsigned long *)&__m256i_result[0]) = 0xc5c545c545c545c5;
+  __m256i_out = __lasx_xvshuf4i_h (__m256i_op0, 0x3d);
+  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_xvshuf4i_h (__m256i_op0, 0xf7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 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_xvshuf4i_h (__m256i_op0, 0x3a);
+  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]) = 0x00000000ffff0000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffff0000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffff0000;
+  __m256i_out = __lasx_xvshuf4i_h (__m256i_op0, 0xa7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xff1cff1cff1cff1c;
+  *((unsigned long *)&__m256i_op0[2]) = 0xff1cff1cff1cff1c;
+  *((unsigned long *)&__m256i_op0[1]) = 0xff1cff1cff1cff1c;
+  *((unsigned long *)&__m256i_op0[0]) = 0xff1cff1cff1cff1c;
+  *((unsigned long *)&__m256i_result[3]) = 0xff1cff1cff1cff1c;
+  *((unsigned long *)&__m256i_result[2]) = 0xff1cff1cff1cff1c;
+  *((unsigned long *)&__m256i_result[1]) = 0xff1cff1cff1cff1c;
+  *((unsigned long *)&__m256i_result[0]) = 0xff1cff1cff1cff1c;
+  __m256i_out = __lasx_xvshuf4i_h (__m256i_op0, 0xdc);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffff0020;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffff8001ffff0001;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffff0020;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffff8001ffff0001;
+  *((unsigned long *)&__m256i_result[3]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff8001ffff8001;
+  *((unsigned long *)&__m256i_result[1]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff8001ffff8001;
+  __m256i_out = __lasx_xvshuf4i_h (__m256i_op0, 0x6e);
+  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_xvshuf4i_h (__m256i_op0, 0x9f);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0002fffd;
+  *((unsigned long *)&__m256i_op0[2]) = 0x04f104f104f504ed;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0002fffd;
+  *((unsigned long *)&__m256i_op0[0]) = 0x04f104f104f504ed;
+  *((unsigned long *)&__m256i_result[3]) = 0x0002ffff00020002;
+  *((unsigned long *)&__m256i_result[2]) = 0x04f504f104f504f5;
+  *((unsigned long *)&__m256i_result[1]) = 0x0002ffff00020002;
+  *((unsigned long *)&__m256i_result[0]) = 0x04f504f104f504f5;
+  __m256i_out = __lasx_xvshuf4i_h (__m256i_op0, 0x65);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x1e1800001e180000;
+  *((unsigned long *)&__m256i_result[2]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x1e1800001e180000;
+  *((unsigned long *)&__m256i_result[0]) = 0x1e18000000000000;
+  __m256i_out = __lasx_xvshuf4i_w (__m256i_op0, 0xfe);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 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_xvshuf4i_w (__m256i_op0, 0x64);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((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]) = 0xc5c5c5c4c5c5c5c4;
+  *((unsigned long *)&__m256i_result[2]) = 0x45c5c5c545c5c5c5;
+  *((unsigned long *)&__m256i_result[1]) = 0xc5c5c5c4c5c5c5c4;
+  *((unsigned long *)&__m256i_result[0]) = 0x45c5c5c545c5c5c5;
+  __m256i_out = __lasx_xvshuf4i_w (__m256i_op0, 0xb0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000f9f900;
+  *((unsigned long *)&__m256i_op0[2]) = 0x79f9f9f900f9f9e0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000f9f900;
+  *((unsigned long *)&__m256i_op0[0]) = 0x79f9f9f900f9f900;
+  *((unsigned long *)&__m256i_result[3]) = 0x00f9f90079f9f9f9;
+  *((unsigned long *)&__m256i_result[2]) = 0x79f9f9f900000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00f9f90079f9f9f9;
+  *((unsigned long *)&__m256i_result[0]) = 0x79f9f9f900000000;
+  __m256i_out = __lasx_xvshuf4i_w (__m256i_op0, 0x97);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000007aff7c00;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffd017d00;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000007aff7c00;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffd017d00;
+  *((unsigned long *)&__m256i_result[3]) = 0x7aff7c0000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xfd017d0000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7aff7c0000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xfd017d0000000000;
+  __m256i_out = __lasx_xvshuf4i_w (__m256i_op0, 0xb3);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xc3f0c3f0c3f0c3f0;
+  *((unsigned long *)&__m256i_op0[2]) = 0xc3f0c3f0c3f0c3f0;
+  *((unsigned long *)&__m256i_op0[1]) = 0xc3f0c3f0c3f0c3f0;
+  *((unsigned long *)&__m256i_op0[0]) = 0xc3f0c3f0c3f0c3f0;
+  *((unsigned long *)&__m256i_result[3]) = 0xc3f0c3f0c3f0c3f0;
+  *((unsigned long *)&__m256i_result[2]) = 0xc3f0c3f0c3f0c3f0;
+  *((unsigned long *)&__m256i_result[1]) = 0xc3f0c3f0c3f0c3f0;
+  *((unsigned long *)&__m256i_result[0]) = 0xc3f0c3f0c3f0c3f0;
+  __m256i_out = __lasx_xvshuf4i_w (__m256i_op0, 0x3c);
+  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_xvshuf4i_w (__m256i_op0, 0xf4);
+  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]) = 0xff81ff7dffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffff81ff7d;
+  *((unsigned long *)&__m256i_result[1]) = 0xff81ff7dffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffff81ff7d;
+  __m256i_out = __lasx_xvshuf4i_w (__m256i_op0, 0x28);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000002000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000020ff790020;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000002000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000020ff790020;
+  *((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_xvshuf4i_w (__m256i_op0, 0xa5);
+  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]) = 0x0101010183f95466;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op1[1]) = 0x01010101d58efe94;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0101010183f95466;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x01010101d58efe94;
+  __m256i_out = __lasx_xvshuf4i_d (__m256i_op0, __m256i_op1, 0xa7);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvshuf4i_d (__m256i_op0, __m256i_op1, 0xd9);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x00001fff00001fff;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00001fff00001fff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x00001fff00001fff;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00001fff00001fff;
+  *((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]) = 0x00001fff00001fff;
+  *((unsigned long *)&__m256i_result[2]) = 0x00001fff00001fff;
+  *((unsigned long *)&__m256i_result[1]) = 0x00001fff00001fff;
+  *((unsigned long *)&__m256i_result[0]) = 0x00001fff00001fff;
+  __m256i_out = __lasx_xvshuf4i_d (__m256i_op0, __m256i_op1, 0x5);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffff80be0000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000f0f0002;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffff80be0000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000f1002;
+  *((unsigned long *)&__m256i_op1[3]) = 0x80000000ff800000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x80000000ff800000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x80000000ff800000;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x80000000ff800000;
+  __m256i_out = __lasx_xvshuf4i_d (__m256i_op0, __m256i_op1, 0xdb);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x43ef878780000009;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x43ef878780000009;
+  __m256i_out = __lasx_xvshuf4i_d (__m256i_op0, __m256i_op1, 0x36);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 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]) = 0xffffffffffffffff;
+  *((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_xvshuf4i_d (__m256i_op0, __m256i_op1, 0x5a);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 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_xvshuf4i_d (__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_xvshuf4i_d (__m256i_op0, __m256i_op1, 0xd);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fff00017fff0000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fff00017fff0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fff00017fff0000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fff00017fff0000;
+  *((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]) = 0x0000ffff0002fffd;
+  *((unsigned long *)&__m256i_result[2]) = 0x04f104f104f504ed;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0002fffd;
+  *((unsigned long *)&__m256i_result[0]) = 0x04f104f104f504ed;
+  __m256i_out = __lasx_xvshuf4i_d (__m256i_op0, __m256i_op1, 0x7e);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvshuf_b.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvshuf_b.c
new file mode 100644
index 00000000000..641ea2315ff
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvshuf_b.c
@@ -0,0 +1,761 @@
+/* { 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]) = 0x0000000007070707;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0102040000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000020100;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0703020000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfe02fe02fee5fe22;
+  *((unsigned long *)&__m256i_op1[0]) = 0xff49fe4200000000;
+  *((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_xvshuf_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]) = 0xfffffefefffffefe;
+  *((unsigned long *)&__m256i_op1[2]) = 0xfffffefefffffcfa;
+  *((unsigned long *)&__m256i_op1[1]) = 0xfffffefefffffefe;
+  *((unsigned long *)&__m256i_op1[0]) = 0xfffffefefffffefe;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0xfffffff8fffffff8;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0xfffffff8fc000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xfafafafafafafafa;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000fefefe;
+  __m256i_out = __lasx_xvshuf_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]) = 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_xvshuf_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  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_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_xvshuf_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  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]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x3ff0010000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0x3ff0010000000000;
+  *((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_xvshuf_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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvshuf_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000ff0000;
+  *((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_op2[3]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffff000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffff0000ffff0000;
+  __m256i_out = __lasx_xvshuf_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]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op2[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op2[1]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op2[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvshuf_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]) = 0x000000000003ffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((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_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000077fff;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffff000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvshuf_b (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffefe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000101;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffefe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000101;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x67eee33567eee435;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x67eee33567eee435;
+  *((unsigned long *)&__m256i_op2[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op2[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_op2[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_xvshuf_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_xvshuf_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffff80000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffff80000000;
+  *((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_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_xvshuf_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+  *((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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvshuf_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]) = 0xefdfefdf00000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0xefdfefdfefdfefdf;
+  *((unsigned long *)&__m256i_op1[1]) = 0xefdfefdf00000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0xefdfefdfefdfefdf;
+  *((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]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvshuf_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_xvshuf_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7575ffff75757595;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7575ffff7575f575;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7575ffff75757595;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7575ffff7575f575;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op2[3]) = 0x7575757575757575;
+  *((unsigned long *)&__m256i_op2[2]) = 0x7575757575757575;
+  *((unsigned long *)&__m256i_op2[1]) = 0x7575757575757575;
+  *((unsigned long *)&__m256i_op2[0]) = 0x7575757575757575;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvshuf_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_xvshuf_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]) = 0x00000000fffff800;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000fffff800;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x00000000fffff800;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x00000000fffff800;
+  *((unsigned long *)&__m256i_result[3]) = 0xf800f800f800f800;
+  *((unsigned long *)&__m256i_result[2]) = 0xf800f800f800f800;
+  *((unsigned long *)&__m256i_result[1]) = 0xf800f800f800f800;
+  *((unsigned long *)&__m256i_result[0]) = 0xf800f800f800f800;
+  __m256i_out = __lasx_xvshuf_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_xvshuf_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000000000fffe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000f0;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000000000fffe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000f0;
+  *((unsigned long *)&__m256i_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]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x000000ffff88ff88;
+  *((unsigned long *)&__m256i_op2[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x000000ffff88ff88;
+  *((unsigned long *)&__m256i_result[3]) = 0xff88ff88ff880000;
+  *((unsigned long *)&__m256i_result[2]) = 0xff88ff88ff880000;
+  *((unsigned long *)&__m256i_result[1]) = 0xff88ff88ff880000;
+  *((unsigned long *)&__m256i_result[0]) = 0xff88ff88ff880000;
+  __m256i_out = __lasx_xvshuf_h (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000010000ffe1;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000101001e18;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000010000ffe1;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000101001e18;
+  *((unsigned long *)&__m256i_op1[3]) = 0x98111cca98111cca;
+  *((unsigned long *)&__m256i_op1[2]) = 0x98111cca98111cca;
+  *((unsigned long *)&__m256i_op1[1]) = 0x98111cca98111cca;
+  *((unsigned long *)&__m256i_op1[0]) = 0x98111cca98111cca;
+  *((unsigned long *)&__m256i_op2[3]) = 0x000000010000ffe1;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000101001e18;
+  *((unsigned long *)&__m256i_op2[1]) = 0x000000010000ffe1;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000101001e18;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000101001e18;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000101001e18;
+  __m256i_out = __lasx_xvshuf_w (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[2]) = 0x80008000b3e8fef1;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+  *((unsigned long *)&__m256i_op0[0]) = 0x80008000802ea100;
+  *((unsigned long *)&__m256i_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]) = 0x0000000000000002;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_op2[0]) = 0x00000000012e2110;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000200000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x012e2110012e2110;
+  __m256i_out = __lasx_xvshuf_w (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000082a54290;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000028aa700;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000082a54290;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000002a54287;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00000000002a542a;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000002a542a;
+  *((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_xvshuf_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]) = 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_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_xvshuf_w (__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]) = 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_xvshuf_w (__m256i_op0, __m256i_op1, __m256i_op2);
+  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]) = 0x000000007fc00000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x000000007fc00000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x000000007fc00000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x000000007fc00000;
+  *((unsigned long *)&__m256i_op2[3]) = 0xdfffffffdfffffff;
+  *((unsigned long *)&__m256i_op2[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_op2[1]) = 0xdfffffffdfffffff;
+  *((unsigned long *)&__m256i_op2[0]) = 0x8000000080000000;
+  *((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_xvshuf_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]) = 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_xvshuf_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]) = 0x0001000104000200;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0001000104000200;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[2]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[0]) = 0xffff0000ffff0000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0004000400040004;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0004000500040005;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0004000400040004;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0004000500040005;
+  *((unsigned long *)&__m256i_result[3]) = 0x0004000500040005;
+  *((unsigned long *)&__m256i_result[2]) = 0x0004000500040005;
+  *((unsigned long *)&__m256i_result[1]) = 0x0004000500040005;
+  *((unsigned long *)&__m256i_result[0]) = 0x0004000500040005;
+  __m256i_out = __lasx_xvshuf_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]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_op1[2]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_op1[1]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_op1[0]) = 0x555555ab555555ab;
+  *((unsigned long *)&__m256i_op2[3]) = 0x0000000080008000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x000000007fff7fff;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000080008000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x000000007fff7fff;
+  *((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_xvshuf_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]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op2[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_xvshuf_d (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000fffffe01fe52;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00000000ff01ff02;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000fffffe01fe52;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000ff01ff02;
+  *((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_op2[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x000000000000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000080008001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000080008001;
+  __m256i_out = __lasx_xvshuf_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_xvshuf_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_xvshuf_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_xvshuf_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]) = 0x0008000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0008000000000000;
+  *((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_xvshuf_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]) = 0x7fff80007fff0000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x7fff80007fff0000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_op2[3]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op2[2]) = 0x000000ff800000ff;
+  *((unsigned long *)&__m256i_op2[1]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op2[0]) = 0x000000ff800000ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000ff800000ff;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000ff800000ff;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000ff800000ff;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000ff800000ff;
+  __m256i_out = __lasx_xvshuf_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]) = 0x0000002000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000002000000000;
+  *((unsigned long *)&__m256i_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]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op2[2]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op2[0]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000080040;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000080040;
+  __m256i_out = __lasx_xvshuf_d (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffeb8649d0d6250;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffeb8649d0d6250;
+  *((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_op2[3]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_op2[2]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256i_op2[1]) = 0xfffeb6839ffffd80;
+  *((unsigned long *)&__m256i_op2[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_xvshuf_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]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000010001;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010001;
+  *((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_xvshuf_d (__m256i_op0, __m256i_op1, __m256i_op2);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
-- 
2.20.1


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

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

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-13  3:43 [PATCH v4 20/22] LoongArch: Add tests for ASX vector xvfcmp{saf/seq/sle/slt/sne/sor/sun} instructions Xiaolong Chen
2023-09-13  3:43 ` [PATCH v4 21/22] LoongArch: Add tests for ASX vector xvext2xv/xvexth/xvextins/xvilvh/xvilvl/xvinsgr2vr/ xvinsve0/xvprem/xvpremi instructions Xiaolong Chen
2023-09-13  3:43 ` [PATCH v4 22/22] LoongArch: Add tests for ASX vector xvpackev/xvpackod/xvpickev/xvpickod/ xvpickve2gr/xvreplgr2vr/xvreplve/xvreplve0/xvreplvei/xvshuf4i/xvshuf 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).