[v4,15/22] LoongArch: Add tests for ASX vector floating-point conversion instruction.

Message ID 20230913034026.7751-6-chenxiaolong@loongson.cn
State Accepted
Headers
Series Added support for ASX vector instructions. |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

chenxiaolong Sept. 13, 2023, 3:40 a.m. UTC
  gcc/testsuite/ChangeLog:

	* gcc.target/loongarch/vector/lasx/lasx-xvfcvt.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfcvth.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvffint-1.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvffint-2.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvffinth.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfrint_d.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvftint-1.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvftint-2.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvftint-3.c: New test.
	* gcc.target/loongarch/vector/lasx/lasx-xvftintl.c: New test.
---
 .../loongarch/vector/lasx/lasx-xvfcvt.c       |  528 ++++++
 .../loongarch/vector/lasx/lasx-xvfcvth.c      |  485 +++++
 .../loongarch/vector/lasx/lasx-xvffint-1.c    |  375 ++++
 .../loongarch/vector/lasx/lasx-xvffint-2.c    |  246 +++
 .../loongarch/vector/lasx/lasx-xvffinth.c     |  262 +++
 .../loongarch/vector/lasx/lasx-xvfrint_d.c    |  429 +++++
 .../loongarch/vector/lasx/lasx-xvfrint_s.c    |  723 ++++++++
 .../loongarch/vector/lasx/lasx-xvftint-1.c    |  471 +++++
 .../loongarch/vector/lasx/lasx-xvftint-2.c    | 1565 ++++++++++++++++
 .../loongarch/vector/lasx/lasx-xvftint-3.c    |  511 ++++++
 .../loongarch/vector/lasx/lasx-xvftintl.c     | 1580 +++++++++++++++++
 11 files changed, 7175 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvt.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvth.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-1.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-2.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffinth.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_d.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-1.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-2.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-3.c
 create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftintl.c
  

Patch

diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvt.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvt.c
new file mode 100644
index 00000000000..116399a7c25
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvt.c
@@ -0,0 +1,528 @@ 
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+  __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+  __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+  __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+  int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+  long int long_op0, long_op1, long_op2, lont_out, lont_result;
+  long int long_int_out, long_int_result;
+  unsigned int unsigned_int_out, unsigned_int_result;
+  unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_op1[7]) = 0x00000003;
+  *((int *)&__m256_op1[6]) = 0x0000000c;
+  *((int *)&__m256_op1[5]) = 0x00000011;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x00000005;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000008;
+  *((int *)&__m256_op1[0]) = 0x00000010;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x6d6d6d6d;
+  *((int *)&__m256_op0[6]) = 0x6d6d6d6d;
+  *((int *)&__m256_op0[5]) = 0x6d6d6d6d;
+  *((int *)&__m256_op0[4]) = 0x6d6d6d6d;
+  *((int *)&__m256_op0[3]) = 0x6d6d6d6d;
+  *((int *)&__m256_op0[2]) = 0x6d6d6d6d;
+  *((int *)&__m256_op0[1]) = 0x6d6d6d6d;
+  *((int *)&__m256_op0[0]) = 0x6d6d6d6d;
+  *((int *)&__m256_op1[7]) = 0x6d6d6d6d;
+  *((int *)&__m256_op1[6]) = 0x6d6d6d6d;
+  *((int *)&__m256_op1[5]) = 0x6d6d6d6d;
+  *((int *)&__m256_op1[4]) = 0x6d6d6d6d;
+  *((int *)&__m256_op1[3]) = 0x6d6d6d6d;
+  *((int *)&__m256_op1[2]) = 0x6d6d6d6d;
+  *((int *)&__m256_op1[1]) = 0x6d6d6d6d;
+  *((int *)&__m256_op1[0]) = 0x6d6d6d6d;
+  *((unsigned long *)&__m256i_result[3]) = 0x7c007c007c007c00;
+  *((unsigned long *)&__m256i_result[2]) = 0x7c007c007c007c00;
+  *((unsigned long *)&__m256i_result[1]) = 0x7c007c007c007c00;
+  *((unsigned long *)&__m256i_result[0]) = 0x7c007c007c007c00;
+  __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_op1[7]) = 0x00020000;
+  *((int *)&__m256_op1[6]) = 0x00020000;
+  *((int *)&__m256_op1[5]) = 0x00020000;
+  *((int *)&__m256_op1[4]) = 0x00010000;
+  *((int *)&__m256_op1[3]) = 0x00020000;
+  *((int *)&__m256_op1[2]) = 0x00020000;
+  *((int *)&__m256_op1[1]) = 0x00020000;
+  *((int *)&__m256_op1[0]) = 0x00010000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((int *)&__m256_op1[7]) = 0x71717171;
+  *((int *)&__m256_op1[6]) = 0x71010101;
+  *((int *)&__m256_op1[5]) = 0x8e8e8e8e;
+  *((int *)&__m256_op1[4]) = 0x8f00ffff;
+  *((int *)&__m256_op1[3]) = 0x71717171;
+  *((int *)&__m256_op1[2]) = 0x71010101;
+  *((int *)&__m256_op1[1]) = 0x8e8e8e8e;
+  *((int *)&__m256_op1[0]) = 0x8f00ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x7c007c0080008000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x7c007c0080008000;
+  __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xfff10000;
+  *((int *)&__m256_op0[4]) = 0xfff10000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xfff10000;
+  *((int *)&__m256_op0[0]) = 0xfff10000;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0xfff10000;
+  *((int *)&__m256_op1[4]) = 0xfff10000;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0xfff10000;
+  *((int *)&__m256_op1[0]) = 0xfff10000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000ff88ff88;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ff88ff88;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000ff88ff88;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ff88ff88;
+  __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00040000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00040000;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xff00ff00;
+  *((int *)&__m256_op0[6]) = 0x3f003f00;
+  *((int *)&__m256_op0[5]) = 0xff0101fd;
+  *((int *)&__m256_op0[4]) = 0x00010100;
+  *((int *)&__m256_op0[3]) = 0xff00ff00;
+  *((int *)&__m256_op0[2]) = 0x3f003f00;
+  *((int *)&__m256_op0[1]) = 0xff0101fd;
+  *((int *)&__m256_op0[0]) = 0x00010100;
+  *((int *)&__m256_op1[7]) = 0x01ffff43;
+  *((int *)&__m256_op1[6]) = 0x00fffeff;
+  *((int *)&__m256_op1[5]) = 0xfe0000bc;
+  *((int *)&__m256_op1[4]) = 0xff000100;
+  *((int *)&__m256_op1[3]) = 0x01ffff43;
+  *((int *)&__m256_op1[2]) = 0x00fffeff;
+  *((int *)&__m256_op1[1]) = 0xfe0000bc;
+  *((int *)&__m256_op1[0]) = 0xff000100;
+  *((unsigned long *)&__m256i_result[3]) = 0xfc003802fc000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000fc00fc00;
+  *((unsigned long *)&__m256i_result[1]) = 0xfc003802fc000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000fc00fc00;
+  __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_op1[7]) = 0x00000000;
+  *((int *)&__m256_op1[6]) = 0x00000000;
+  *((int *)&__m256_op1[5]) = 0x00000000;
+  *((int *)&__m256_op1[4]) = 0x00000000;
+  *((int *)&__m256_op1[3]) = 0x00000000;
+  *((int *)&__m256_op1[2]) = 0x00000000;
+  *((int *)&__m256_op1[1]) = 0x00000000;
+  *((int *)&__m256_op1[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0cc08723ff900001;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xcc9b89f2f6cef440;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffff00000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0xffffffff;
+  *((int *)&__m256_result[4]) = 0xfffffff8;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0xff800000;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0xfffffff8;
+  __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffffffffffff;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0xffffffff;
+  *((int *)&__m256_result[4]) = 0xffffffff;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0xffffffff;
+  __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xdbc8000000003fff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0xdbc8000000003fff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0xff800000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0xff800000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0xff800000ff800000;
+  *((unsigned long *)&__m256d_op1[2]) = 0xff800000ff800000;
+  *((unsigned long *)&__m256d_op1[1]) = 0xff800000ff800000;
+  *((unsigned long *)&__m256d_op1[0]) = 0xff800000ff800000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0xff800000;
+  *((int *)&__m256_result[4]) = 0xff800000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0xff800000;
+  *((int *)&__m256_result[0]) = 0xff800000;
+  __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000ffff0000ffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0xf7f8f7f8f800f800;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00003f784000ff80;
+  *((unsigned long *)&__m256d_op1[1]) = 0xf7f8f7f84000fff9;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00003f784000ff80;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0xff800000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0xff800000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000555500005555;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000555500005555;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000555500005555;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000555500005555;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffffb6804cb9;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffb7bbdec0;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffb680489b;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffffb7bc02a0;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0xfffffffd;
+  *((int *)&__m256_result[4]) = 0xfffffffd;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0xfffffffd;
+  *((int *)&__m256_result[0]) = 0xfffffffd;
+  __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0101010202020203;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0101010201010102;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0101010202020203;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0101010201010102;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x3fff3fff3fff3fff;
+  *((unsigned long *)&__m256d_op1[2]) = 0x3fff3fff3fff3fc4;
+  *((unsigned long *)&__m256d_op1[1]) = 0x3fff3fff3fff3fff;
+  *((unsigned long *)&__m256d_op1[0]) = 0x3fff3fff3fff3fc4;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x3ff9fffa;
+  *((int *)&__m256_result[4]) = 0x3ff9fffa;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x3ff9fffa;
+  *((int *)&__m256_result[0]) = 0x3ff9fffa;
+  __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvth.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvth.c
new file mode 100644
index 00000000000..001ce1c69f6
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvth.c
@@ -0,0 +1,485 @@ 
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+  __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+  __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+  __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+  int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+  long int long_op0, long_op1, long_op2, lont_out, lont_result;
+  long int long_int_out, long_int_result;
+  unsigned int unsigned_int_out, unsigned_int_result;
+  unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfcvth_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfcvth_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((int *)&__m256_op0[7]) = 0x0000aaaa;
+  *((int *)&__m256_op0[6]) = 0x00008bfe;
+  *((int *)&__m256_op0[5]) = 0x0000aaaa;
+  *((int *)&__m256_op0[4]) = 0x0000aaaa;
+  *((int *)&__m256_op0[3]) = 0x0000aaaa;
+  *((int *)&__m256_op0[2]) = 0x00008bfe;
+  *((int *)&__m256_op0[1]) = 0x0000aaaa;
+  *((int *)&__m256_op0[0]) = 0x0000aaaa;
+  *((unsigned long *)&__m256d_result[3]) = 0x3795554000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x37917fc000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x3795554000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x37917fc000000000;
+  __m256d_out = __lasx_xvfcvth_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0404010008080808;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0408010008080808;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0404010008080808;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0408010008080808;
+  *((int *)&__m256_result[7]) = 0x38808000;
+  *((int *)&__m256_result[6]) = 0x37800000;
+  *((int *)&__m256_result[5]) = 0x39010000;
+  *((int *)&__m256_result[4]) = 0x39010000;
+  *((int *)&__m256_result[3]) = 0x38808000;
+  *((int *)&__m256_result[2]) = 0x37800000;
+  *((int *)&__m256_result[1]) = 0x39010000;
+  *((int *)&__m256_result[0]) = 0x39010000;
+  __m256_out = __lasx_xvfcvth_s_h (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfcvth_s_h (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfcvth_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfcvth_s_h (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfcvth_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffe0000000;
+  __m256d_out = __lasx_xvfcvth_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000100010001fffe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000100010001fffe;
+  *((int *)&__m256_result[7]) = 0x80000000;
+  *((int *)&__m256_result[6]) = 0x80000000;
+  *((int *)&__m256_result[5]) = 0x80000000;
+  *((int *)&__m256_result[4]) = 0x80000000;
+  *((int *)&__m256_result[3]) = 0x80000000;
+  *((int *)&__m256_result[2]) = 0x80000000;
+  *((int *)&__m256_result[1]) = 0x80000000;
+  *((int *)&__m256_result[0]) = 0x80000000;
+  __m256_out = __lasx_xvfcvth_s_h (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000100;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfcvth_s_h (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00020006;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00020006;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00020006;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00020006;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x37b0003000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x37b0003000000000;
+  __m256d_out = __lasx_xvfcvth_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((int *)&__m256_op0[7]) = 0xfffffff0;
+  *((int *)&__m256_op0[6]) = 0xfffffff0;
+  *((int *)&__m256_op0[5]) = 0xfffffff0;
+  *((int *)&__m256_op0[4]) = 0xfffffff0;
+  *((int *)&__m256_op0[3]) = 0xfffffff0;
+  *((int *)&__m256_op0[2]) = 0xfffffff0;
+  *((int *)&__m256_op0[1]) = 0xfffffff0;
+  *((int *)&__m256_op0[0]) = 0xfffffff0;
+  *((unsigned long *)&__m256d_result[3]) = 0xfffffffe00000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xfffffffe00000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xfffffffe00000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xfffffffe00000000;
+  __m256d_out = __lasx_xvfcvth_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256d_result[3]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffe0000000;
+  __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xf001000100010001;
+  *((unsigned long *)&__m256i_op0[2]) = 0xf000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xf001000100010001;
+  *((unsigned long *)&__m256i_op0[0]) = 0xf000000000000000;
+  *((int *)&__m256_result[7]) = 0xc6000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0xc6000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfcvtl_s_h (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xc080ffff0049ffd2;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0002ff80ffb70000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000fffeffb9ff9d;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00010000002fff9e;
+  *((int *)&__m256_result[7]) = 0x34000000;
+  *((int *)&__m256_result[6]) = 0xfff00000;
+  *((int *)&__m256_result[5]) = 0xfff6e000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x33800000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x363c0000;
+  *((int *)&__m256_result[0]) = 0xfff3c000;
+  __m256_out = __lasx_xvfcvtl_s_h (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfcvtl_s_h (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((int *)&__m256_op0[7]) = 0x80000000;
+  *((int *)&__m256_op0[6]) = 0x80000000;
+  *((int *)&__m256_op0[5]) = 0x80000000;
+  *((int *)&__m256_op0[4]) = 0xff800000;
+  *((int *)&__m256_op0[3]) = 0x80000000;
+  *((int *)&__m256_op0[2]) = 0x80000000;
+  *((int *)&__m256_op0[1]) = 0x80000000;
+  *((int *)&__m256_op0[0]) = 0xff800000;
+  *((unsigned long *)&__m256d_result[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xfff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xfff0000000000000;
+  __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x41dfffffffc00000;
+  *((unsigned long *)&__m256i_op0[2]) = 0xc1d75053f0000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x41dfffffffc00000;
+  *((unsigned long *)&__m256i_op0[0]) = 0xc1d75053f0000000;
+  *((int *)&__m256_result[7]) = 0xc03ae000;
+  *((int *)&__m256_result[6]) = 0x420a6000;
+  *((int *)&__m256_result[5]) = 0xc6000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0xc03ae000;
+  *((int *)&__m256_result[2]) = 0x420a6000;
+  *((int *)&__m256_result[1]) = 0xc6000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfcvtl_s_h (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x03802fc000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x03802fc000000000;
+  *((int *)&__m256_result[7]) = 0x38600000;
+  *((int *)&__m256_result[6]) = 0x3df80000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x38600000;
+  *((int *)&__m256_result[2]) = 0x3df80000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfcvtl_s_h (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256d_result[3]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xffffffffe0000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffe0000000;
+  __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-1.c
new file mode 100644
index 00000000000..dd04fd788b1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-1.c
@@ -0,0 +1,375 @@ 
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+  __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+  __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+  __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+  int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+  long int long_op0, long_op1, long_op2, lont_out, lont_result;
+  long int long_int_out, long_int_result;
+  unsigned int unsigned_int_out, unsigned_int_result;
+  unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[3]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xbff0000000000000;
+  __m256d_out = __lasx_xvffint_d_l (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000001700080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000001700080;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x4177000800000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x4177000800000000;
+  __m256d_out = __lasx_xvffint_d_l (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffint_d_l (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffint_d_l (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffint_d_l (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffint_d_l (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffint_d_l (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xc1f0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xc1f0000000000000;
+  __m256d_out = __lasx_xvffint_d_l (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffint_d_l (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x01fe01fe01fe01fe;
+  *((unsigned long *)&__m256i_op0[2]) = 0x01fe01fe01fe01fe;
+  *((unsigned long *)&__m256i_op0[1]) = 0x01fe01fe01fe01fe;
+  *((unsigned long *)&__m256i_op0[0]) = 0x01fe01fe01fe01fe;
+  *((unsigned long *)&__m256d_result[3]) = 0x437fe01fe01fe020;
+  *((unsigned long *)&__m256d_result[2]) = 0x437fe01fe01fe020;
+  *((unsigned long *)&__m256d_result[1]) = 0x437fe01fe01fe020;
+  *((unsigned long *)&__m256d_result[0]) = 0x437fe01fe01fe020;
+  __m256d_out = __lasx_xvffint_d_l (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x04e8296f18181818;
+  *((unsigned long *)&__m256i_op0[2]) = 0x132feea900000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x04e8296f18181818;
+  *((unsigned long *)&__m256i_op0[0]) = 0x132feea900000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x4393a0a5bc606060;
+  *((unsigned long *)&__m256d_result[2]) = 0x43b32feea9000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x4393a0a5bc606060;
+  *((unsigned long *)&__m256d_result[0]) = 0x43b32feea9000000;
+  __m256d_out = __lasx_xvffint_d_l (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x372e9d75e8aab100;
+  *((unsigned long *)&__m256i_op0[2]) = 0xc5c085372cfabfba;
+  *((unsigned long *)&__m256i_op0[1]) = 0x31730b5beb7c99f5;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0658f2dc0eb21e3c;
+  *((int *)&__m256_result[7]) = 0x4e5cba76;
+  *((int *)&__m256_result[6]) = 0xcdbaaa78;
+  *((int *)&__m256_result[5]) = 0xce68fdeb;
+  *((int *)&__m256_result[4]) = 0x4e33eaff;
+  *((int *)&__m256_result[3]) = 0x4e45cc2d;
+  *((int *)&__m256_result[2]) = 0xcda41b30;
+  *((int *)&__m256_result[1]) = 0x4ccb1e5c;
+  *((int *)&__m256_result[0]) = 0x4d6b21e4;
+  __m256_out = __lasx_xvffint_s_w (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvffint_s_w (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvffint_s_w (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvffint_s_w (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvffint_s_w (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x000000007fff0000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000008000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x000000007fff0000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000008000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x4efffe00;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x47000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x4efffe00;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x47000000;
+  __m256_out = __lasx_xvffint_s_w (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ff00;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ff00;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x477f0000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x477f0000;
+  __m256_out = __lasx_xvffint_s_w (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0010001000030000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0010001000030000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0010001000030000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0010001000030000;
+  *((int *)&__m256_result[7]) = 0x49800080;
+  *((int *)&__m256_result[6]) = 0x48400000;
+  *((int *)&__m256_result[5]) = 0x49800080;
+  *((int *)&__m256_result[4]) = 0x48400000;
+  *((int *)&__m256_result[3]) = 0x49800080;
+  *((int *)&__m256_result[2]) = 0x48400000;
+  *((int *)&__m256_result[1]) = 0x49800080;
+  *((int *)&__m256_result[0]) = 0x48400000;
+  __m256_out = __lasx_xvffint_s_w (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvffint_s_l (__m256i_op0, __m256i_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x4f800000;
+  __m256_out = __lasx_xvffint_s_l (__m256i_op0, __m256i_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op1[3]) = 0xffffc74180000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0xffff884580000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0xbf800000;
+  *((int *)&__m256_result[6]) = 0xbf800000;
+  *((int *)&__m256_result[5]) = 0xd662fa00;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0xbf800000;
+  *((int *)&__m256_result[2]) = 0xbf800000;
+  *((int *)&__m256_result[1]) = 0xd6ef7500;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvffint_s_l (__m256i_op0, __m256i_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvffint_s_l (__m256i_op0, __m256i_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000005000000020;
+  *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000005000000020;
+  *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff000c0000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x00ff00ff00ff00ff;
+  *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff00040000;
+  *((int *)&__m256_result[7]) = 0xdf000000;
+  *((int *)&__m256_result[6]) = 0x52a00000;
+  *((int *)&__m256_result[5]) = 0x5b7f00ff;
+  *((int *)&__m256_result[4]) = 0x5b7f00ff;
+  *((int *)&__m256_result[3]) = 0xdf000000;
+  *((int *)&__m256_result[2]) = 0x52a00000;
+  *((int *)&__m256_result[1]) = 0x5b7f00ff;
+  *((int *)&__m256_result[0]) = 0x5b7f00ff;
+  __m256_out = __lasx_xvffint_s_l (__m256i_op0, __m256i_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0a0a0a0a7f0a0a0a;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0a0a0a0a7f0a0a0a;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0a0a0a0a7f0a0a0a;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0a0a0a0a7f0a0a0a;
+  *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0x5d20a0a1;
+  *((int *)&__m256_result[6]) = 0x5d20a0a1;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x5d20a0a1;
+  *((int *)&__m256_result[2]) = 0x5d20a0a1;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvffint_s_l (__m256i_op0, __m256i_op1);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-2.c
new file mode 100644
index 00000000000..3e2b15507ac
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-2.c
@@ -0,0 +1,246 @@ 
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+  __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+  __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+  __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+  int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+  long int long_op0, long_op1, long_op2, lont_out, lont_result;
+  long int long_int_out, long_int_result;
+  unsigned int unsigned_int_out, unsigned_int_result;
+  unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0101000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0101000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x4370100000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x4370100000000000;
+  __m256d_out = __lasx_xvffint_d_lu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffint_d_lu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffint_d_lu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_op0[2]) = 0x2020202020206431;
+  *((unsigned long *)&__m256i_op0[1]) = 0x2020202020202020;
+  *((unsigned long *)&__m256i_op0[0]) = 0x2020202020206431;
+  *((unsigned long *)&__m256d_result[3]) = 0x43c0101010101010;
+  *((unsigned long *)&__m256d_result[2]) = 0x43c0101010101032;
+  *((unsigned long *)&__m256d_result[1]) = 0x43c0101010101010;
+  *((unsigned long *)&__m256d_result[0]) = 0x43c0101010101032;
+  __m256d_out = __lasx_xvffint_d_lu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x40efffe09fa88260;
+  *((unsigned long *)&__m256i_op0[2]) = 0x6b07ca8e013fbf01;
+  *((unsigned long *)&__m256i_op0[1]) = 0x40efffe09fa7e358;
+  *((unsigned long *)&__m256i_op0[0]) = 0x80ce32be3e827f00;
+  *((unsigned long *)&__m256d_result[3]) = 0x43d03bfff827ea21;
+  *((unsigned long *)&__m256d_result[2]) = 0x43dac1f2a3804ff0;
+  *((unsigned long *)&__m256d_result[1]) = 0x43d03bfff827e9f9;
+  *((unsigned long *)&__m256d_result[0]) = 0x43e019c657c7d050;
+  __m256d_out = __lasx_xvffint_d_lu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[3]) = 0x43f0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x43f0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x43f0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x43f0000000000000;
+  __m256d_out = __lasx_xvffint_d_lu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x41f0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x41f0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x41f0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x41f0000000000000;
+  __m256d_out = __lasx_xvffint_d_lu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffint_d_lu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0202010202020102;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0202010202020102;
+  *((unsigned long *)&__m256d_result[3]) = 0x4380100810101008;
+  *((unsigned long *)&__m256d_result[2]) = 0x4380100810101008;
+  *((unsigned long *)&__m256d_result[1]) = 0x4380100810101008;
+  *((unsigned long *)&__m256d_result[0]) = 0x4380100810101008;
+  __m256d_out = __lasx_xvffint_d_lu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffint_d_lu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x41f0000000000000;
+  __m256d_out = __lasx_xvffint_d_lu (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffbf7f00007fff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffe651ffffbfff;
+  *((int *)&__m256_result[7]) = 0x4f800000;
+  *((int *)&__m256_result[6]) = 0x4f800000;
+  *((int *)&__m256_result[5]) = 0x4f7fffbf;
+  *((int *)&__m256_result[4]) = 0x46fffe00;
+  *((int *)&__m256_result[3]) = 0x4f800000;
+  *((int *)&__m256_result[2]) = 0x4f800000;
+  *((int *)&__m256_result[1]) = 0x4f7fffe6;
+  *((int *)&__m256_result[0]) = 0x4f7fffc0;
+  __m256_out = __lasx_xvffint_s_wu (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffefd;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((int *)&__m256_result[7]) = 0x4b808080;
+  *((int *)&__m256_result[6]) = 0x4b808080;
+  *((int *)&__m256_result[5]) = 0x4f800000;
+  *((int *)&__m256_result[4]) = 0x4f7fffff;
+  *((int *)&__m256_result[3]) = 0x4b808080;
+  *((int *)&__m256_result[2]) = 0x4b808080;
+  *((int *)&__m256_result[1]) = 0x4f800000;
+  *((int *)&__m256_result[0]) = 0x4f800000;
+  __m256_out = __lasx_xvffint_s_wu (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvffint_s_wu (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvffint_s_wu (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000008;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x41000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x41000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x41000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x41000000;
+  __m256_out = __lasx_xvffint_s_wu (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000020;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000040;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000020;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x42800000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x42000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x42800000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x42000000;
+  __m256_out = __lasx_xvffint_s_wu (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvffint_s_wu (__m256i_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffinth.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffinth.c
new file mode 100644
index 00000000000..e310ff5ee11
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffinth.c
@@ -0,0 +1,262 @@ 
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+  __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+  __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+  __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+  int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+  long int long_op0, long_op1, long_op2, lont_out, lont_result;
+  long int long_int_out, long_int_result;
+  unsigned int unsigned_int_out, unsigned_int_result;
+  unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0e2d5626ff75cdbc;
+  *((unsigned long *)&__m256i_op0[2]) = 0x5db4b156e2002a78;
+  *((unsigned long *)&__m256i_op0[1]) = 0xeeffbeb03ba3e6b0;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0c16e25eb28d27ea;
+  *((unsigned long *)&__m256d_result[3]) = 0x41ac5aac4c000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xc161464880000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xc1b1004150000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x41cdd1f358000000;
+  __m256d_out = __lasx_xvffinth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x8000006f0000007f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x8000006f0000007f;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffinth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffinth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffinth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xe161616161616161;
+  *((unsigned long *)&__m256i_op0[2]) = 0xe161616161614e60;
+  *((unsigned long *)&__m256i_op0[1]) = 0xe161616161616161;
+  *((unsigned long *)&__m256i_op0[0]) = 0xe161616161614e60;
+  *((unsigned long *)&__m256d_result[3]) = 0xc1be9e9e9f000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x41d8585858400000;
+  *((unsigned long *)&__m256d_result[1]) = 0xc1be9e9e9f000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x41d8585858400000;
+  __m256d_out = __lasx_xvffinth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7fff000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fff000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7fff7fff00000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x41dfffc000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x41dfffdfffc00000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffinth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00000000007f3a40;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffinth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffinth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffb79fb74;
+  *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffffa;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffb79fb74;
+  *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffffa;
+  *((unsigned long *)&__m256d_result[3]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xc192181230000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xc192181230000000;
+  __m256d_out = __lasx_xvffinth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[3]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xbff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xbff0000000000000;
+  __m256d_out = __lasx_xvffinth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000ff0000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000ffffffff00;
+  *((unsigned long *)&__m256d_result[3]) = 0x40efffe000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x40efffe000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffinth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x41dffc0000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x41dffc0000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffinth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xffffffe7ffffffe7;
+  *((unsigned long *)&__m256i_op0[2]) = 0xffffffe7ffffffe7;
+  *((unsigned long *)&__m256i_op0[1]) = 0xffffffe7ffffffe7;
+  *((unsigned long *)&__m256i_op0[0]) = 0xffffffe7ffffffe7;
+  *((unsigned long *)&__m256d_result[3]) = 0xc039000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xc039000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xc039000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xc039000000000000;
+  __m256d_out = __lasx_xvffinth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffinth_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x5980000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x5980000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x41d6600000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x41d6600000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffintl_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffintl_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000022beb03f;
+  *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffa2beb040;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000022beb03f;
+  *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffa2beb040;
+  *((unsigned long *)&__m256d_result[3]) = 0x41dfffffffc00000;
+  *((unsigned long *)&__m256d_result[2]) = 0xc1d75053f0000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x41dfffffffc00000;
+  *((unsigned long *)&__m256d_result[0]) = 0xc1d75053f0000000;
+  __m256d_out = __lasx_xvffintl_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000000000001f;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000000000001f;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x403f000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x403f000000000000;
+  __m256d_out = __lasx_xvffintl_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvffintl_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00f7000000f70006;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00f7000000f70006;
+  *((unsigned long *)&__m256d_result[3]) = 0x416ee00000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x416ee000c0000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x416ee00000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x416ee000c0000000;
+  __m256d_out = __lasx_xvffintl_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[2]) = 0x00ff000000000080;
+  *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_op0[0]) = 0x00ff000000000080;
+  *((unsigned long *)&__m256d_result[3]) = 0x416fe00000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x4060000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x416fe00000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x4060000000000000;
+  __m256d_out = __lasx_xvffintl_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffc01fc01;
+  *((unsigned long *)&__m256i_op0[2]) = 0x000000003fc03bbc;
+  *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffc01fc01;
+  *((unsigned long *)&__m256i_op0[0]) = 0x000000003fc03bbc;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x41cfe01dde000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x41cfe01dde000000;
+  __m256d_out = __lasx_xvffintl_d_w (__m256i_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_d.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_d.c
new file mode 100644
index 00000000000..4babf163898
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_d.c
@@ -0,0 +1,429 @@ 
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+/* { dg-timeout 500 } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+  __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+  __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+  __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+  int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+  long int long_op0, long_op1, long_op2, lont_out, lont_result;
+  long int long_int_out, long_int_result;
+  unsigned int unsigned_int_out, unsigned_int_result;
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrint_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x0);
+  *((unsigned long *)&__m256d_op0[3]) = 0xfffefffe00000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0xfffefffefffefffd;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0xfffefffe00000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xfffefffefffefffd;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrint_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000008050501;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000008050501;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrint_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffffffffff;
+  __m256d_out = __lasx_xvfrint_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000008;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000008;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000008;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000008;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrint_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256d_op0[1]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256d_result[3]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256d_result[2]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256d_result[1]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256d_result[0]) = 0xfffffffffffffff8;
+  __m256d_out = __lasx_xvfrint_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrintrne_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000080008001;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000080008001;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrintrne_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x7c00000880008000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x7c00000880008000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7c00000880008000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7c00000880008000;
+  __m256d_out = __lasx_xvfrintrne_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrintrne_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x6018000000000cd1;
+  *((unsigned long *)&__m256d_op0[2]) = 0x6040190d00000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x6018000000000cd1;
+  *((unsigned long *)&__m256d_op0[0]) = 0x6040190d00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x6018000000000cd1;
+  *((unsigned long *)&__m256d_result[2]) = 0x6040190d00000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x6018000000000cd1;
+  *((unsigned long *)&__m256d_result[0]) = 0x6040190d00000000;
+  __m256d_out = __lasx_xvfrintrne_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x3eab77367fff4848;
+  *((unsigned long *)&__m256d_op0[2]) = 0x408480007fff0000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x3eab77367fff4848;
+  *((unsigned long *)&__m256d_op0[0]) = 0x408480007fff0000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x4084800000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x4084800000000000;
+  __m256d_out = __lasx_xvfrintrne_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffff0001ffff0001;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffff0001ffff0001;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffff0001ffff0001;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffff0001ffff0001;
+  *((unsigned long *)&__m256d_result[3]) = 0xffff0001ffff0001;
+  *((unsigned long *)&__m256d_result[2]) = 0xffff0001ffff0001;
+  *((unsigned long *)&__m256d_result[1]) = 0xffff0001ffff0001;
+  *((unsigned long *)&__m256d_result[0]) = 0xffff0001ffff0001;
+  __m256d_out = __lasx_xvfrintrne_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x3fffbfff80000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00004000007f8000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x3fffbfff80000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00004000007f8000;
+  *((unsigned long *)&__m256d_result[3]) = 0x4000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x4000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrintrne_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrintrp_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000ffff00010000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000ffff00010000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x3ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x3ff0000000000000;
+  __m256d_out = __lasx_xvfrintrp_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfffffefefffffefe;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfffffefe00000000;
+  *((unsigned long *)&__m256d_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[2]) = 0xfffffefefffffefe;
+  *((unsigned long *)&__m256d_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[0]) = 0xfffffefe00000000;
+  __m256d_out = __lasx_xvfrintrp_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x000100da000100fd;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0001ffe20001fefd;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0001009a000100fd;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0001ff640001fefd;
+  *((unsigned long *)&__m256d_result[3]) = 0x3ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x3ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x3ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x3ff0000000000000;
+  __m256d_out = __lasx_xvfrintrp_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffffffffff;
+  __m256d_out = __lasx_xvfrintrp_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xfffffffffffffffc;
+  *((unsigned long *)&__m256d_op0[2]) = 0x01fc03fc01fc03fc;
+  *((unsigned long *)&__m256d_op0[1]) = 0xfffffffffffffffc;
+  *((unsigned long *)&__m256d_op0[0]) = 0x01fc03fc01fc03fc;
+  *((unsigned long *)&__m256d_result[3]) = 0xfffffffffffffffc;
+  *((unsigned long *)&__m256d_result[2]) = 0x3ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0xfffffffffffffffc;
+  *((unsigned long *)&__m256d_result[0]) = 0x3ff0000000000000;
+  __m256d_out = __lasx_xvfrintrp_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0218ff78fc38fc38;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfc00000000000048;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0218ff78fc38fc38;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfc00000000000048;
+  *((unsigned long *)&__m256d_result[3]) = 0x3ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0xfc00000000000048;
+  *((unsigned long *)&__m256d_result[1]) = 0x3ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0xfc00000000000048;
+  __m256d_out = __lasx_xvfrintrp_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x8000800080008000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x8000800080008000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x8000000000000000;
+  __m256d_out = __lasx_xvfrintrp_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xfffffff0fffffff0;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfffffff0fffffff0;
+  *((unsigned long *)&__m256d_op0[1]) = 0xfffffff0fffffff0;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfffffff0fffffff0;
+  *((unsigned long *)&__m256d_result[3]) = 0xfffffff0fffffff0;
+  *((unsigned long *)&__m256d_result[2]) = 0xfffffff0fffffff0;
+  *((unsigned long *)&__m256d_result[1]) = 0xfffffff0fffffff0;
+  *((unsigned long *)&__m256d_result[0]) = 0xfffffff0fffffff0;
+  __m256d_out = __lasx_xvfrintrp_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x1e18000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrintrm_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x017e017e01dd61de;
+  *((unsigned long *)&__m256d_op0[2]) = 0x5d637d043bc4fc43;
+  *((unsigned long *)&__m256d_op0[1]) = 0x01dcc2dce31bc35d;
+  *((unsigned long *)&__m256d_op0[0]) = 0x5e041d245b85fc43;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x5d637d043bc4fc43;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x5e041d245b85fc43;
+  __m256d_out = __lasx_xvfrintrm_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x7c007c007c007c00;
+  *((unsigned long *)&__m256d_op0[2]) = 0x7c007c007c007c00;
+  *((unsigned long *)&__m256d_op0[1]) = 0x7c007c007c007c00;
+  *((unsigned long *)&__m256d_op0[0]) = 0x7c007c007c007c00;
+  *((unsigned long *)&__m256d_result[3]) = 0x7c007c007c007c00;
+  *((unsigned long *)&__m256d_result[2]) = 0x7c007c007c007c00;
+  *((unsigned long *)&__m256d_result[1]) = 0x7c007c007c007c00;
+  *((unsigned long *)&__m256d_result[0]) = 0x7c007c007c007c00;
+  __m256d_out = __lasx_xvfrintrm_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffffffffff;
+  __m256d_out = __lasx_xvfrintrm_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrintrm_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000ffff00000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrintrm_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x5);
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrintrm_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_result[0]) = 0xffffffffffffffff;
+  __m256d_out = __lasx_xvfrintrz_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000800000098;
+  *((unsigned long *)&__m256d_op0[2]) = 0x000000040000ffca;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000800000098;
+  *((unsigned long *)&__m256d_op0[0]) = 0x000000040000ff79;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrintrz_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrintrz_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000;
+  __m256d_out = __lasx_xvfrintrz_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000064;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000781;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000064;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrintrz_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x000000001ffe2000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x001fe020001fe020;
+  *((unsigned long *)&__m256d_op0[1]) = 0x000000001ffe2000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x001fe020001fe020;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrintrz_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000;
+  __m256d_out = __lasx_xvfrintrz_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c
new file mode 100644
index 00000000000..9f2fa674776
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c
@@ -0,0 +1,723 @@ 
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+/* { dg-timeout 500 } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+  __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+  __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+  __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+  int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+  long int long_op0, long_op1, long_op2, lont_out, lont_result;
+  long int long_int_out, long_int_result;
+  unsigned int unsigned_int_out, unsigned_int_result;
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffff5f5c;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffff605a;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffff5f5c;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffff605a;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0xffff5f5c;
+  *((int *)&__m256_result[5]) = 0xffffffff;
+  *((int *)&__m256_result[4]) = 0xffff605a;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0xffff5f5c;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0xffff605a;
+  __m256_out = __lasx_xvfrint_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xc5c5c5c4;
+  *((int *)&__m256_op0[6]) = 0xc5c5c5c4;
+  *((int *)&__m256_op0[5]) = 0x45c5c5c5;
+  *((int *)&__m256_op0[4]) = 0x45c5c5c5;
+  *((int *)&__m256_op0[3]) = 0xc5c5c5c4;
+  *((int *)&__m256_op0[2]) = 0xc5c5c5c4;
+  *((int *)&__m256_op0[1]) = 0x45c5c5c5;
+  *((int *)&__m256_op0[0]) = 0x45c5c5c5;
+  *((int *)&__m256_result[7]) = 0xc5c5c800;
+  *((int *)&__m256_result[6]) = 0xc5c5c800;
+  *((int *)&__m256_result[5]) = 0x45c5c800;
+  *((int *)&__m256_result[4]) = 0x45c5c800;
+  *((int *)&__m256_result[3]) = 0xc5c5c800;
+  *((int *)&__m256_result[2]) = 0xc5c5c800;
+  *((int *)&__m256_result[1]) = 0x45c5c800;
+  *((int *)&__m256_result[0]) = 0x45c5c800;
+  __m256_out = __lasx_xvfrint_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0xffffffff;
+  *((int *)&__m256_result[5]) = 0xffffffff;
+  *((int *)&__m256_result[4]) = 0xffffffff;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0xffffffff;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0xffffffff;
+  __m256_out = __lasx_xvfrint_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrint_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0xffff6f20;
+  *((int *)&__m256_op0[5]) = 0x0000781e;
+  *((int *)&__m256_op0[4]) = 0x0000f221;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0xffff6f20;
+  *((int *)&__m256_op0[1]) = 0x0000781e;
+  *((int *)&__m256_op0[0]) = 0x0000f221;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0xffff6f20;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0xffff6f20;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrint_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0xffffb3b4;
+  *((int *)&__m256_op0[5]) = 0xfffffff5;
+  *((int *)&__m256_op0[4]) = 0xffff4738;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0xffffb3b4;
+  *((int *)&__m256_op0[1]) = 0xfffffff5;
+  *((int *)&__m256_op0[0]) = 0xffff4738;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0xffffb3b4;
+  *((int *)&__m256_result[5]) = 0xfffffff5;
+  *((int *)&__m256_result[4]) = 0xffff4738;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0xffffb3b4;
+  *((int *)&__m256_result[1]) = 0xfffffff5;
+  *((int *)&__m256_result[0]) = 0xffff4738;
+  __m256_out = __lasx_xvfrint_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00ff0000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00ff0000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00ff0000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00ff0000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrint_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00003fea;
+  *((int *)&__m256_op0[6]) = 0x00013feb;
+  *((int *)&__m256_op0[5]) = 0x00003fe9;
+  *((int *)&__m256_op0[4]) = 0x00014022;
+  *((int *)&__m256_op0[3]) = 0x00003fea;
+  *((int *)&__m256_op0[2]) = 0x00013feb;
+  *((int *)&__m256_op0[1]) = 0x00003fe9;
+  *((int *)&__m256_op0[0]) = 0x00014022;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrint_s (__m256_op0);
+  ASSERTEQ_32 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrintrne_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0xffffffff;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0xffffffff;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrintrne_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0xffffffff;
+  *((int *)&__m256_result[5]) = 0xffffffff;
+  *((int *)&__m256_result[4]) = 0xffffffff;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0xffffffff;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0xffffffff;
+  __m256_out = __lasx_xvfrintrne_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x01010101;
+  *((int *)&__m256_op0[6]) = 0x01010101;
+  *((int *)&__m256_op0[5]) = 0x01010101;
+  *((int *)&__m256_op0[4]) = 0x00000001;
+  *((int *)&__m256_op0[3]) = 0x01010101;
+  *((int *)&__m256_op0[2]) = 0x01010101;
+  *((int *)&__m256_op0[1]) = 0x01010101;
+  *((int *)&__m256_op0[0]) = 0x00000001;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrintrne_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrintrne_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0xffffffff;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0xffffffff;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrintrne_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0xffffffff;
+  *((int *)&__m256_result[5]) = 0xffffffff;
+  *((int *)&__m256_result[4]) = 0xffffffff;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0xffffffff;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0xffffffff;
+  __m256_out = __lasx_xvfrintrne_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x01010101;
+  *((int *)&__m256_op0[6]) = 0x01010101;
+  *((int *)&__m256_op0[5]) = 0x01010101;
+  *((int *)&__m256_op0[4]) = 0x00000001;
+  *((int *)&__m256_op0[3]) = 0x01010101;
+  *((int *)&__m256_op0[2]) = 0x01010101;
+  *((int *)&__m256_op0[1]) = 0x01010101;
+  *((int *)&__m256_op0[0]) = 0x00000001;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrintrne_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x55555555;
+  *((int *)&__m256_op0[6]) = 0x36aaaaac;
+  *((int *)&__m256_op0[5]) = 0x55555555;
+  *((int *)&__m256_op0[4]) = 0xaaaaaaac;
+  *((int *)&__m256_op0[3]) = 0x55555555;
+  *((int *)&__m256_op0[2]) = 0x36aaaaac;
+  *((int *)&__m256_op0[1]) = 0x55555555;
+  *((int *)&__m256_op0[0]) = 0xaaaaaaac;
+  *((int *)&__m256_result[7]) = 0x55555555;
+  *((int *)&__m256_result[6]) = 0x3f800000;
+  *((int *)&__m256_result[5]) = 0x55555555;
+  *((int *)&__m256_result[4]) = 0x80000000;
+  *((int *)&__m256_result[3]) = 0x55555555;
+  *((int *)&__m256_result[2]) = 0x3f800000;
+  *((int *)&__m256_result[1]) = 0x55555555;
+  *((int *)&__m256_result[0]) = 0x80000000;
+  __m256_out = __lasx_xvfrintrp_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrintrp_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffc741;
+  *((int *)&__m256_op0[6]) = 0x8a023680;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0xffff8845;
+  *((int *)&__m256_op0[2]) = 0xbb954b00;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0xffffc741;
+  *((int *)&__m256_result[6]) = 0x80000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0xffff8845;
+  *((int *)&__m256_result[2]) = 0x80000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrintrp_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0xffffffff;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0xffffffff;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0xffffffff;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0xffffffff;
+  __m256_out = __lasx_xvfrintrp_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00200101;
+  *((int *)&__m256_op0[6]) = 0x01610000;
+  *((int *)&__m256_op0[5]) = 0x00612000;
+  *((int *)&__m256_op0[4]) = 0x00610000;
+  *((int *)&__m256_op0[3]) = 0x00200101;
+  *((int *)&__m256_op0[2]) = 0x01610000;
+  *((int *)&__m256_op0[1]) = 0x00612000;
+  *((int *)&__m256_op0[0]) = 0x00610000;
+  *((int *)&__m256_result[7]) = 0x3f800000;
+  *((int *)&__m256_result[6]) = 0x3f800000;
+  *((int *)&__m256_result[5]) = 0x3f800000;
+  *((int *)&__m256_result[4]) = 0x3f800000;
+  *((int *)&__m256_result[3]) = 0x3f800000;
+  *((int *)&__m256_result[2]) = 0x3f800000;
+  *((int *)&__m256_result[1]) = 0x3f800000;
+  *((int *)&__m256_result[0]) = 0x3f800000;
+  __m256_out = __lasx_xvfrintrp_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xfefefefe;
+  *((int *)&__m256_op0[4]) = 0x01010101;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xfefefefe;
+  *((int *)&__m256_op0[0]) = 0x01010101;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0xfefefefe;
+  *((int *)&__m256_result[4]) = 0x3f800000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0xfefefefe;
+  *((int *)&__m256_result[0]) = 0x3f800000;
+  __m256_out = __lasx_xvfrintrp_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x1c1c1c1c;
+  *((int *)&__m256_op0[6]) = 0x1c1c1c1c;
+  *((int *)&__m256_op0[5]) = 0xfffffffe;
+  *((int *)&__m256_op0[4]) = 0xffffff00;
+  *((int *)&__m256_op0[3]) = 0x1c1c1c1c;
+  *((int *)&__m256_op0[2]) = 0x1c1c1c1c;
+  *((int *)&__m256_op0[1]) = 0xfffffffe;
+  *((int *)&__m256_op0[0]) = 0xffffff00;
+  *((int *)&__m256_result[7]) = 0x3f800000;
+  *((int *)&__m256_result[6]) = 0x3f800000;
+  *((int *)&__m256_result[5]) = 0xfffffffe;
+  *((int *)&__m256_result[4]) = 0xffffff00;
+  *((int *)&__m256_result[3]) = 0x3f800000;
+  *((int *)&__m256_result[2]) = 0x3f800000;
+  *((int *)&__m256_result[1]) = 0xfffffffe;
+  *((int *)&__m256_result[0]) = 0xffffff00;
+  __m256_out = __lasx_xvfrintrp_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000008;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00080000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrintrm_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrintrm_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0x0000ffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0x0000ffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0xffffffff;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0xffffffff;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0xffffffff;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0xffffffff;
+  __m256_out = __lasx_xvfrintrm_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x5d20a0a1;
+  *((int *)&__m256_op0[6]) = 0x5d20a0a1;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x5d20a0a1;
+  *((int *)&__m256_op0[2]) = 0x5d20a0a1;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x5d20a0a1;
+  *((int *)&__m256_result[6]) = 0x5d20a0a1;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x5d20a0a1;
+  *((int *)&__m256_result[2]) = 0x5d20a0a1;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrintrm_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x001d001d;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x001d001d;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrintrm_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000033;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000033;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrintrm_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000001;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000001;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrintrm_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000300;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000303;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrintrz_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xfffffffe;
+  *((int *)&__m256_op0[5]) = 0xfffffffe;
+  *((int *)&__m256_op0[4]) = 0xfffffefc;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xfffffffe;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xfffffffe;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0xfffffffe;
+  *((int *)&__m256_result[5]) = 0xfffffffe;
+  *((int *)&__m256_result[4]) = 0xfffffefc;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0xfffffffe;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0xfffffffe;
+  __m256_out = __lasx_xvfrintrz_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0x00000000;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0x00000000;
+  __m256_out = __lasx_xvfrintrz_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x0001c4e8;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x0001c4e8;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((int *)&__m256_result[7]) = 0x00000000;
+  *((int *)&__m256_result[6]) = 0x00000000;
+  *((int *)&__m256_result[5]) = 0x00000000;
+  *((int *)&__m256_result[4]) = 0xffffffff;
+  *((int *)&__m256_result[3]) = 0x00000000;
+  *((int *)&__m256_result[2]) = 0x00000000;
+  *((int *)&__m256_result[1]) = 0x00000000;
+  *((int *)&__m256_result[0]) = 0xffffffff;
+  __m256_out = __lasx_xvfrintrz_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0x80000000;
+  *((int *)&__m256_op0[6]) = 0x80000000;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0x80000000;
+  *((int *)&__m256_op0[2]) = 0x80000000;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((int *)&__m256_result[7]) = 0x80000000;
+  *((int *)&__m256_result[6]) = 0x80000000;
+  *((int *)&__m256_result[5]) = 0xffffffff;
+  *((int *)&__m256_result[4]) = 0xffffffff;
+  *((int *)&__m256_result[3]) = 0x80000000;
+  *((int *)&__m256_result[2]) = 0x80000000;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0xffffffff;
+  __m256_out = __lasx_xvfrintrz_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((int *)&__m256_result[7]) = 0xffffffff;
+  *((int *)&__m256_result[6]) = 0xffffffff;
+  *((int *)&__m256_result[5]) = 0xffffffff;
+  *((int *)&__m256_result[4]) = 0xffffffff;
+  *((int *)&__m256_result[3]) = 0xffffffff;
+  *((int *)&__m256_result[2]) = 0xffffffff;
+  *((int *)&__m256_result[1]) = 0xffffffff;
+  *((int *)&__m256_result[0]) = 0xffffffff;
+  __m256_out = __lasx_xvfrintrz_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  *((int *)&__m256_op0[7]) = 0xf5fffc00;
+  *((int *)&__m256_op0[6]) = 0xfc000000;
+  *((int *)&__m256_op0[5]) = 0xf5fffc00;
+  *((int *)&__m256_op0[4]) = 0xfc000000;
+  *((int *)&__m256_op0[3]) = 0xf5fffc00;
+  *((int *)&__m256_op0[2]) = 0xfc000000;
+  *((int *)&__m256_op0[1]) = 0xf5fffc00;
+  *((int *)&__m256_op0[0]) = 0xfc000000;
+  *((int *)&__m256_result[7]) = 0xf5fffc00;
+  *((int *)&__m256_result[6]) = 0xfc000000;
+  *((int *)&__m256_result[5]) = 0xf5fffc00;
+  *((int *)&__m256_result[4]) = 0xfc000000;
+  *((int *)&__m256_result[3]) = 0xf5fffc00;
+  *((int *)&__m256_result[2]) = 0xfc000000;
+  *((int *)&__m256_result[1]) = 0xf5fffc00;
+  *((int *)&__m256_result[0]) = 0xfc000000;
+  __m256_out = __lasx_xvfrintrz_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256_result, __m256_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-1.c
new file mode 100644
index 00000000000..c75468d42ee
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-1.c
@@ -0,0 +1,471 @@ 
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+  __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+  __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+  __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+  int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+  long int long_op0, long_op1, long_op2, lont_out, lont_result;
+  long int long_int_out, long_int_result;
+  unsigned int unsigned_int_out, unsigned_int_result;
+  unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffcb423a587053;
+  *((unsigned long *)&__m256d_op0[2]) = 0x6d46f43e71141b81;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffcb423a584528;
+  *((unsigned long *)&__m256d_op0[0]) = 0x9bdf36c8d78158a1;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x386000003df80000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x386000003df80000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x555555553f800000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x555555553f800000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+  __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000080;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000080;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000080;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000080;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x43f0000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x43f0000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x43f0000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x43f0000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+  __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffc03b1fc5e050;
+  *((unsigned long *)&__m256d_op0[2]) = 0x6a9e3fa2603a2000;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffc03b1fc5e050;
+  *((unsigned long *)&__m256d_op0[0]) = 0x6a9e3fa2603a2000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+  __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000008;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000008;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+  __m256i_out = __lasx_xvftintrp_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x7f70000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x7f70000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x7f70000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x7f70000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+  __m256i_out = __lasx_xvftintrp_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256d_op0[1]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfffffffe00000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x8000800080008000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x8000800080008000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfffe97c020010001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00007f8000007f80;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00007f8000007f80;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00007f8000007f80;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00007f8000007f80;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x555555553f800000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x555555553f800000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+  __m256i_out = __lasx_xvftintrm_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00000000001c9880;
+  *((unsigned long *)&__m256d_op0[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00000000001c9880;
+  *((unsigned long *)&__m256d_op0[0]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x1828f0e09bad7249;
+  *((unsigned long *)&__m256d_op0[2]) = 0x07ffc1b723953cec;
+  *((unsigned long *)&__m256d_op0[1]) = 0x61f2e9b333aab104;
+  *((unsigned long *)&__m256d_op0[0]) = 0x6bf742aa0d7856a0;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+  __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000ffff00010000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000ffff00010000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00ffffff1e9e9e9e;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffff9e9eb09e;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00ffffff1e9e9e9e;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffff9e9eb09e;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000001e0007ffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000001e0007ffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000001e0007ffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000001e0007ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-2.c
new file mode 100644
index 00000000000..ad72f7596bc
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-2.c
@@ -0,0 +1,1565 @@ 
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+  __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+  __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+  __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+  int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+  long int long_op0, long_op1, long_op2, lont_out, lont_result;
+  long int long_int_out, long_int_result;
+  unsigned int unsigned_int_out, unsigned_int_result;
+  unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+  *((int *)&__m256_op0[7]) = 0x0000ffff;
+  *((int *)&__m256_op0[6]) = 0xc0008001;
+  *((int *)&__m256_op0[5]) = 0x0000ffff;
+  *((int *)&__m256_op0[4]) = 0xc0008001;
+  *((int *)&__m256_op0[3]) = 0x0000ffff;
+  *((int *)&__m256_op0[2]) = 0xc0008001;
+  *((int *)&__m256_op0[1]) = 0x0000ffff;
+  *((int *)&__m256_op0[0]) = 0xc0008001;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000000fffffffe;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000fffffffe;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000000fffffffe;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000fffffffe;
+  __m256i_out = __lasx_xvftint_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x3f3f3f3c;
+  *((int *)&__m256_op0[5]) = 0xc6c6c6c6;
+  *((int *)&__m256_op0[4]) = 0x8787878a;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x3f3f3f3c;
+  *((int *)&__m256_op0[1]) = 0x8787878a;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0xffff9c9d00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x1f0fdf7f;
+  *((int *)&__m256_op0[6]) = 0x3e3b31d4;
+  *((int *)&__m256_op0[5]) = 0x7ff80000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x1f0fdf7f;
+  *((int *)&__m256_op0[2]) = 0x3e3b31d4;
+  *((int *)&__m256_op0[1]) = 0x7ff80000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000200000003;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000ffff00010002;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0080000200000003;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000ffff00010002;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x55555555;
+  *((int *)&__m256_op0[5]) = 0x00000001;
+  *((int *)&__m256_op0[4]) = 0x00000004;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x55555555;
+  *((int *)&__m256_op0[1]) = 0x00000001;
+  *((int *)&__m256_op0[0]) = 0x00000004;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00ff00ffff0000ff;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00ff00ffff0000ff;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x7fe36364661af18f;
+  *((unsigned long *)&__m256d_op0[2]) = 0x7fe363637fe36364;
+  *((unsigned long *)&__m256d_op0[1]) = 0x7fe36364661af18f;
+  *((unsigned long *)&__m256d_op0[0]) = 0x7fe363637fe36364;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xfffffffffffffff5;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfffffffffffffff5;
+  *((unsigned long *)&__m256d_op0[1]) = 0xfffffffffffffff5;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfffffffffffffff5;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256d_op0[1]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfffffffffffffff8;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffff00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000007;
+  *((unsigned long *)&__m256d_op0[2]) = 0x000000020000000b;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000007;
+  *((unsigned long *)&__m256d_op0[0]) = 0x000000020000000a;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x000000000000000a;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x000000000000000a;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000505;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x40000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x40000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000200000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000200000000;
+  __m256i_out = __lasx_xvftintrne_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[3]) = 0x108659e46485f7e1;
+  *((unsigned long *)&__m256d_op1[2]) = 0x4df5b1a3ed5e02c1;
+  *((unsigned long *)&__m256d_op1[1]) = 0x108659e46485f7e1;
+  *((unsigned long *)&__m256d_op1[0]) = 0x4df5b1a3ed5e02c1;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007fffffff;
+  __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000004;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000004040104;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffd1108199;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000000714910f9;
+  *((unsigned long *)&__m256d_op1[3]) = 0x000000030000000c;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000001100000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000500000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000800000010;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffff7e;
+  *((int *)&__m256_op0[4]) = 0xffffff46;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffff7e;
+  *((int *)&__m256_op0[0]) = 0xffffff46;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffe5ffffffe5;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffe5ffffffe5;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffe5ffffffe5;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffe5ffffffe5;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffe5ffffffe5;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffe5ffffffe5;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffe5ffffffe5;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffe5ffffffe5;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000001000000010;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000001000000010;
+  *((unsigned long *)&__m256d_op1[3]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x7ff0000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffffff7fffffff;
+  __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x00000001ffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00000001ffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x00000001ffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00000001ffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x000000017bfffff0;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000180007fe8;
+  *((unsigned long *)&__m256d_op0[1]) = 0x000000017bfffff0;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000180007fe8;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x7c00000880008000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x7c00000880008000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000000007fffffff;
+  __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00000000000007c8;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00000000000007c8;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000001fe01fe;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000ff0100;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000001fe01fe;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000ff0100;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x0fffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0x0fffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0x0fffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0x0fffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x000000010000685e;
+  *((unsigned long *)&__m256d_op1[2]) = 0x000020a4ffffbe4f;
+  *((unsigned long *)&__m256d_op1[1]) = 0x000000010000685e;
+  *((unsigned long *)&__m256d_op1[0]) = 0x000020a4ffffbe4f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000800000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000800000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xfd12fd12;
+  *((int *)&__m256_op0[6]) = 0xfd12fd12;
+  *((int *)&__m256_op0[5]) = 0xfd12fd12;
+  *((int *)&__m256_op0[4]) = 0xfd12fd12;
+  *((int *)&__m256_op0[3]) = 0xfd12fd12;
+  *((int *)&__m256_op0[2]) = 0xfd12fd12;
+  *((int *)&__m256_op0[1]) = 0xfd12fd12;
+  *((int *)&__m256_op0[0]) = 0xfd12fd12;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
+  __m256i_out = __lasx_xvftintrne_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x000a000a000a000a;
+  *((unsigned long *)&__m256d_op1[2]) = 0x000a000a000a000a;
+  *((unsigned long *)&__m256d_op1[1]) = 0x000a000a000a000a;
+  *((unsigned long *)&__m256d_op1[0]) = 0x000a000a000a000a;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffe4ffe6;
+  *((int *)&__m256_op0[6]) = 0xffe5ffe6;
+  *((int *)&__m256_op0[5]) = 0xffe4ffe6;
+  *((int *)&__m256_op0[4]) = 0xffe5ffe6;
+  *((int *)&__m256_op0[3]) = 0xffe4ffe6;
+  *((int *)&__m256_op0[2]) = 0xffe5ffe6;
+  *((int *)&__m256_op0[1]) = 0xffe4ffe6;
+  *((int *)&__m256_op0[0]) = 0xffe5ffe6;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000001;
+  *((int *)&__m256_op0[4]) = 0x00010102;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x80008000;
+  *((int *)&__m256_op0[6]) = 0x80008000;
+  *((int *)&__m256_op0[5]) = 0x80008000;
+  *((int *)&__m256_op0[4]) = 0x80008000;
+  *((int *)&__m256_op0[3]) = 0x80008000;
+  *((int *)&__m256_op0[2]) = 0x80008000;
+  *((int *)&__m256_op0[1]) = 0x80008000;
+  *((int *)&__m256_op0[0]) = 0x80008000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x10000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x10000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000100000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+  __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00ff00ff;
+  *((int *)&__m256_op0[6]) = 0x00ff00ff;
+  *((int *)&__m256_op0[5]) = 0x00ff00ff;
+  *((int *)&__m256_op0[4]) = 0x00ff00ff;
+  *((int *)&__m256_op0[3]) = 0x00ff00ff;
+  *((int *)&__m256_op0[2]) = 0x00ff00ff;
+  *((int *)&__m256_op0[1]) = 0x00ff00ff;
+  *((int *)&__m256_op0[0]) = 0x00ff00ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+  __m256i_out = __lasx_xvftintrp_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0010001000100010;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0010001000107878;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0010001000100010;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0010001000107878;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+  __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0040000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0040000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0040000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0040000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0005000500050005;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0005000500050005;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfefefefefefefefe;
+  *((unsigned long *)&__m256d_op1[3]) = 0x00003fea00013fec;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00003fe50001c013;
+  *((unsigned long *)&__m256d_op1[1]) = 0x00003fea00013fec;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00003fe50001c013;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000180000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000180000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+  __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffff000000010000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000095120000;
+  *((unsigned long *)&__m256d_op0[1]) = 0xc9da000063f50000;
+  *((unsigned long *)&__m256d_op0[0]) = 0xc7387fff6bbfffff;
+  *((unsigned long *)&__m256d_op1[3]) = 0xfffe000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000ffff00010000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x4001000100020000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000ffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000200000000;
+  __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xfffefffe;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0xfffefffe;
+  *((int *)&__m256_op0[2]) = 0xfffefffd;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x0707feb6;
+  *((int *)&__m256_op0[6]) = 0x0707b7d0;
+  *((int *)&__m256_op0[5]) = 0x45baa7ef;
+  *((int *)&__m256_op0[4]) = 0x6a95a985;
+  *((int *)&__m256_op0[3]) = 0x0707feb6;
+  *((int *)&__m256_op0[2]) = 0x0707b7d0;
+  *((int *)&__m256_op0[1]) = 0x45baa7ef;
+  *((int *)&__m256_op0[0]) = 0x6a95a985;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000017547fffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000017547fffffff;
+  __m256i_out = __lasx_xvftintrm_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x6d6d6d6d;
+  *((int *)&__m256_op0[6]) = 0x6d6d6d6d;
+  *((int *)&__m256_op0[5]) = 0x6d6d6d6d;
+  *((int *)&__m256_op0[4]) = 0x6d6d6d6d;
+  *((int *)&__m256_op0[3]) = 0x6d6d6d6d;
+  *((int *)&__m256_op0[2]) = 0x6d6d6d6d;
+  *((int *)&__m256_op0[1]) = 0x6d6d6d6d;
+  *((int *)&__m256_op0[0]) = 0x6d6d6d6d;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffffff7fffffff;
+  __m256i_out = __lasx_xvftintrm_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xefdfefdf00000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0xefdfefdfefdfefdf;
+  *((unsigned long *)&__m256d_op0[1]) = 0xefdfefdf00000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0xefdfefdfefdfefdf;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x43ef878780000009;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x43ef878780000009;
+  *((unsigned long *)&__m256d_op1[3]) = 0x00000000c0000005;
+  *((unsigned long *)&__m256d_op1[2]) = 0x21f8c3c4c0000005;
+  *((unsigned long *)&__m256d_op1[1]) = 0x00000000c0000005;
+  *((unsigned long *)&__m256d_op1[0]) = 0x21f8c3c4c0000005;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x00000000ffe36780;
+  *((unsigned long *)&__m256d_op1[2]) = 0x8000000100000001;
+  *((unsigned long *)&__m256d_op1[1]) = 0x00000000ffe36780;
+  *((unsigned long *)&__m256d_op1[0]) = 0x8000000100000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+  __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xfff10000;
+  *((int *)&__m256_op0[4]) = 0xfff10000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xfff10000;
+  *((int *)&__m256_op0[0]) = 0xfff10000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0xfdfcfda8;
+  *((int *)&__m256_op0[5]) = 0x0000e282;
+  *((int *)&__m256_op0[4]) = 0x1d20ffff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0xfdfcfda8;
+  *((int *)&__m256_op0[1]) = 0x0000e282;
+  *((int *)&__m256_op0[0]) = 0x1d20ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000080000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000080000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0080000000800000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0080000000800000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0080000000800000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0080000000800000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x7ff8000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x1fa0000000080000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x1fa0000000080000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x1fa0000000080000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x1fa0000000080000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256d_op0[2]) = 0xff00ff007f007f00;
+  *((unsigned long *)&__m256d_op0[1]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256d_op0[0]) = 0xff00ff007f007f00;
+  *((unsigned long *)&__m256d_op1[3]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256d_op1[2]) = 0xff00ff007f007f00;
+  *((unsigned long *)&__m256d_op1[1]) = 0xff00ff00ff00ff00;
+  *((unsigned long *)&__m256d_op1[0]) = 0xff00ff007f007f00;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000080000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
+  __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000ffff0002fffc;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffff0000fffd0003;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000ffff0002fffc;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffff0000fffd0003;
+  *((unsigned long *)&__m256d_op1[3]) = 0x003f020001400200;
+  *((unsigned long *)&__m256d_op1[2]) = 0x003f00ff003f00c4;
+  *((unsigned long *)&__m256d_op1[1]) = 0x003f020001400200;
+  *((unsigned long *)&__m256d_op1[0]) = 0x003f00ff003f00c4;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfffffff0ffff0000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0xfffffff0ffff0000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0101010101010101;
+  *((unsigned long *)&__m256d_op1[2]) = 0x3ff1808001020101;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0101010101010101;
+  *((unsigned long *)&__m256d_op1[0]) = 0x3ff1808001020101;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+  __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000001;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x002e2100;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x34000000fff00000;
+  *((unsigned long *)&__m256d_op0[2]) = 0xfff6e00000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x3380000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x363c0000fff3c000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x000000030000000c;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000001100000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000500000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000800000010;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[3]) = 0xa5a5a5a5a5a5a5a5;
+  *((unsigned long *)&__m256d_op1[2]) = 0xa5a5a5a5a5a5a5ff;
+  *((unsigned long *)&__m256d_op1[1]) = 0xa5a5a5a5a5a5a5a5;
+  *((unsigned long *)&__m256d_op1[0]) = 0xa5a5a5a5a5a5a5ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x55555555;
+  *((int *)&__m256_op0[6]) = 0x55555555;
+  *((int *)&__m256_op0[5]) = 0x5d5d5d5d;
+  *((int *)&__m256_op0[4]) = 0x5d555d55;
+  *((int *)&__m256_op0[3]) = 0x55555555;
+  *((int *)&__m256_op0[2]) = 0x55555555;
+  *((int *)&__m256_op0[1]) = 0x5d5ca2a3;
+  *((int *)&__m256_op0[0]) = 0x5d54aaab;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffff7fffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffffff7fffffff;
+  __m256i_out = __lasx_xvftintrz_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0b085bfc00000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0b004bc000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0b085bfc00000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0b004bc000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0xffeeffaf;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000011;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0xffeeffaf;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000011;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00ff00ff;
+  *((int *)&__m256_op0[6]) = 0x00ff00ff;
+  *((int *)&__m256_op0[5]) = 0x00ff00ff;
+  *((int *)&__m256_op0[4]) = 0x00ff00ff;
+  *((int *)&__m256_op0[3]) = 0x00ff00ff;
+  *((int *)&__m256_op0[2]) = 0x00ff00ff;
+  *((int *)&__m256_op0[1]) = 0x00ff00ff;
+  *((int *)&__m256_op0[0]) = 0x00ff00ff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x001d001d;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x01ff0020ff1f001f;
+  *((unsigned long *)&__m256d_op0[2]) = 0x7fe1ffe0ffe1ffe0;
+  *((unsigned long *)&__m256d_op0[1]) = 0x01ff0020ff1f001f;
+  *((unsigned long *)&__m256d_op0[0]) = 0x7fe1ffe0ffe1ffe0;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x00003fe000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x00003fe000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x000000007fffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x81fa28e4;
+  *((int *)&__m256_op0[6]) = 0x81fa28e4;
+  *((int *)&__m256_op0[5]) = 0x81fa28e4;
+  *((int *)&__m256_op0[4]) = 0x81fa28e4;
+  *((int *)&__m256_op0[3]) = 0x81fa28e4;
+  *((int *)&__m256_op0[2]) = 0x81fa28e4;
+  *((int *)&__m256_op0[1]) = 0x81fa28e4;
+  *((int *)&__m256_op0[0]) = 0x81fa28e4;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_w_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-3.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-3.c
new file mode 100644
index 00000000000..19db4e192d2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-3.c
@@ -0,0 +1,511 @@ 
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+  __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+  __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+  __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+  int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+  long int long_op0, long_op1, long_op2, lont_out, lont_result;
+  long int long_int_out, long_int_result;
+  unsigned int unsigned_int_out, unsigned_int_result;
+  unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xfffefffe;
+  *((int *)&__m256_op0[6]) = 0xfffefffe;
+  *((int *)&__m256_op0[5]) = 0xfffefffe;
+  *((int *)&__m256_op0[4]) = 0xfffefffe;
+  *((int *)&__m256_op0[3]) = 0xfffefffe;
+  *((int *)&__m256_op0[2]) = 0xfffefffe;
+  *((int *)&__m256_op0[1]) = 0xfffefffe;
+  *((int *)&__m256_op0[0]) = 0xfffefffe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000200;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000200;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000200;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000200;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xfffffff1;
+  *((int *)&__m256_op0[6]) = 0xfffffff1;
+  *((int *)&__m256_op0[5]) = 0xfffffff1;
+  *((int *)&__m256_op0[4]) = 0xfffffff1;
+  *((int *)&__m256_op0[3]) = 0xfffffff1;
+  *((int *)&__m256_op0[2]) = 0xfffffff1;
+  *((int *)&__m256_op0[1]) = 0xfffffff1;
+  *((int *)&__m256_op0[0]) = 0xfffffff1;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x43ef8787;
+  *((int *)&__m256_op0[4]) = 0x8000ffff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x43ef8787;
+  *((int *)&__m256_op0[0]) = 0x8000ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x000001df00000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x000001df00000000;
+  __m256i_out = __lasx_xvftint_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0x00030005;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0x00030005;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x7ff80000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x7ff80000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x7ff80000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x7ff80000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000002;
+  *((int *)&__m256_op0[6]) = 0x00000002;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000002;
+  *((int *)&__m256_op0[2]) = 0x00000002;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x7ff00000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x7ff00000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x7ff00000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x7ff00000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00016e00;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00016e00;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_lu_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_lu_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_lu_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_lu_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_lu_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000004000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000004000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftint_lu_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x38a966b301f41ffd;
+  *((unsigned long *)&__m256d_op0[2]) = 0x5f6108ee13ff0000;
+  *((unsigned long *)&__m256d_op0[1]) = 0xf41a56e8d10201f6;
+  *((unsigned long *)&__m256d_op0[0]) = 0x683b8b34f1020001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+  __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000003868686a20;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0045b8ae81bce1d8;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000003868686a20;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0045b8ae81bce1d8;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0xc2c2c2c2c2c2c2c2;
+  *((unsigned long *)&__m256d_op0[2]) = 0xc2c2c2c2c2c29cc0;
+  *((unsigned long *)&__m256d_op0[1]) = 0xc2c2c2c2c2c2c2c2;
+  *((unsigned long *)&__m256d_op0[0]) = 0xc2c2c2c2c2c29cc0;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x00000000007a00f8;
+  *((unsigned long *)&__m256d_op0[2]) = 0x00ff00ff01640092;
+  *((unsigned long *)&__m256d_op0[1]) = 0x00000000007a00f8;
+  *((unsigned long *)&__m256d_op0[0]) = 0x00ff00ff01640092;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x000000007fff80fe;
+  *((unsigned long *)&__m256d_op0[2]) = 0x000000007fff80fe;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000ffff80007ffe;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000ff007fff80fe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000064;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000781;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000064;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x000408080c111414;
+  *((unsigned long *)&__m256d_op0[2]) = 0x000408080c111414;
+  *((unsigned long *)&__m256d_op0[1]) = 0x000408080c111414;
+  *((unsigned long *)&__m256d_op0[0]) = 0x000408080c111414;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((unsigned long *)&__m256d_op0[3]) = 0x0000000008e8c000;
+  *((unsigned long *)&__m256d_op0[2]) = 0x000000000fffc000;
+  *((unsigned long *)&__m256d_op0[1]) = 0x0000000008e8c000;
+  *((unsigned long *)&__m256d_op0[0]) = 0x000000000fffc000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftintl.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftintl.c
new file mode 100644
index 00000000000..b0fdf7e0b7d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftintl.c
@@ -0,0 +1,1580 @@ 
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+  __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+  __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+  __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+  int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+  long int long_op0, long_op1, long_op2, lont_out, lont_result;
+  long int long_int_out, long_int_result;
+  unsigned int unsigned_int_out, unsigned_int_result;
+  unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+  *((int *)&__m256_op0[7]) = 0xc58a0a0a;
+  *((int *)&__m256_op0[6]) = 0x07070706;
+  *((int *)&__m256_op0[5]) = 0x006b60e4;
+  *((int *)&__m256_op0[4]) = 0x180b0023;
+  *((int *)&__m256_op0[3]) = 0x1b39153f;
+  *((int *)&__m256_op0[2]) = 0x334b966a;
+  *((int *)&__m256_op0[1]) = 0xf1d75d79;
+  *((int *)&__m256_op0[0]) = 0xefcac002;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000;
+  __m256i_out = __lasx_xvftintl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x40404040;
+  *((int *)&__m256_op0[6]) = 0x40404040;
+  *((int *)&__m256_op0[5]) = 0x40404040;
+  *((int *)&__m256_op0[4]) = 0x40404040;
+  *((int *)&__m256_op0[3]) = 0x40404040;
+  *((int *)&__m256_op0[2]) = 0x40404040;
+  *((int *)&__m256_op0[1]) = 0x40404040;
+  *((int *)&__m256_op0[0]) = 0x40404040;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000003;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000003;
+  __m256i_out = __lasx_xvftintl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00080000;
+  *((int *)&__m256_op0[4]) = 0x00000010;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00080000;
+  *((int *)&__m256_op0[0]) = 0x00000010;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x40f69fe6;
+  *((int *)&__m256_op0[6]) = 0x3c26f4f5;
+  *((int *)&__m256_op0[5]) = 0x7ff7ffff;
+  *((int *)&__m256_op0[4]) = 0x00000007;
+  *((int *)&__m256_op0[3]) = 0x40f69fe6;
+  *((int *)&__m256_op0[2]) = 0x3c26f4f5;
+  *((int *)&__m256_op0[1]) = 0x7ff7ffff;
+  *((int *)&__m256_op0[0]) = 0x00000007;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftinth_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00060000;
+  *((int *)&__m256_op0[6]) = 0x00040000;
+  *((int *)&__m256_op0[5]) = 0x00020000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00060000;
+  *((int *)&__m256_op0[2]) = 0x00040000;
+  *((int *)&__m256_op0[1]) = 0x00020000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftinth_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftinth_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftinth_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xffff0000;
+  *((int *)&__m256_op0[4]) = 0xffff0000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xffff0000;
+  *((int *)&__m256_op0[0]) = 0xffff0000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftinth_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x55550000;
+  *((int *)&__m256_op0[6]) = 0x55550000;
+  *((int *)&__m256_op0[5]) = 0x55550000;
+  *((int *)&__m256_op0[4]) = 0x55550000;
+  *((int *)&__m256_op0[3]) = 0x55550000;
+  *((int *)&__m256_op0[2]) = 0x55550000;
+  *((int *)&__m256_op0[1]) = 0x55550000;
+  *((int *)&__m256_op0[0]) = 0x55550000;
+  *((unsigned long *)&__m256i_result[3]) = 0x00000d5000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x00000d5000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x00000d5000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x00000d5000000000;
+  __m256i_out = __lasx_xvftinth_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x007f8080;
+  *((int *)&__m256_op0[6]) = 0x007f007f;
+  *((int *)&__m256_op0[5]) = 0x007f8080;
+  *((int *)&__m256_op0[4]) = 0x007f007f;
+  *((int *)&__m256_op0[3]) = 0x007f8080;
+  *((int *)&__m256_op0[2]) = 0x007f007f;
+  *((int *)&__m256_op0[1]) = 0x007f8080;
+  *((int *)&__m256_op0[0]) = 0x007f007f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftinth_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftinth_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x08e8c000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x0fffc000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x08e8c000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x0fffc000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftinth_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftinth_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrnel_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000002;
+  *((int *)&__m256_op0[4]) = 0x00000008;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000002;
+  *((int *)&__m256_op0[0]) = 0x00000008;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrnel_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrnel_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x7f1d7f7f;
+  *((int *)&__m256_op0[6]) = 0x7f1d7f3b;
+  *((int *)&__m256_op0[5]) = 0x02020102;
+  *((int *)&__m256_op0[4]) = 0x02020102;
+  *((int *)&__m256_op0[3]) = 0x7f1d7f7f;
+  *((int *)&__m256_op0[2]) = 0x7f1d7f3b;
+  *((int *)&__m256_op0[1]) = 0x02020102;
+  *((int *)&__m256_op0[0]) = 0x02020102;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrnel_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrnel_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrnel_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrnel_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000102;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0x39ffffff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0x39ffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+  __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x80000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x80000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x80000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x80000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x000055ff;
+  *((int *)&__m256_op0[6]) = 0x01f90ab5;
+  *((int *)&__m256_op0[5]) = 0xaa95eaff;
+  *((int *)&__m256_op0[4]) = 0xfec6e01f;
+  *((int *)&__m256_op0[3]) = 0x000055ff;
+  *((int *)&__m256_op0[2]) = 0x01f90ab5;
+  *((int *)&__m256_op0[1]) = 0xaa95eaff;
+  *((int *)&__m256_op0[0]) = 0xfec6e01f;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000;
+  __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xfffeb683;
+  *((int *)&__m256_op0[6]) = 0x9ffffd80;
+  *((int *)&__m256_op0[5]) = 0xfffe97c0;
+  *((int *)&__m256_op0[4]) = 0x20010001;
+  *((int *)&__m256_op0[3]) = 0xfffeb683;
+  *((int *)&__m256_op0[2]) = 0x9ffffd80;
+  *((int *)&__m256_op0[1]) = 0xfffe97c0;
+  *((int *)&__m256_op0[0]) = 0x20010001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+  __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrml_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrml_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x000000ff;
+  *((int *)&__m256_op0[6]) = 0x000000f8;
+  *((int *)&__m256_op0[5]) = 0xbc8ff0ff;
+  *((int *)&__m256_op0[4]) = 0xffffcff8;
+  *((int *)&__m256_op0[3]) = 0x000000ff;
+  *((int *)&__m256_op0[2]) = 0x000000f8;
+  *((int *)&__m256_op0[1]) = 0xbc8ff0ff;
+  *((int *)&__m256_op0[0]) = 0xffffcff8;
+  *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrml_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrml_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000001;
+  *((int *)&__m256_op0[6]) = 0x00000001;
+  *((int *)&__m256_op0[5]) = 0x00000001;
+  *((int *)&__m256_op0[4]) = 0x00000001;
+  *((int *)&__m256_op0[3]) = 0x00000001;
+  *((int *)&__m256_op0[2]) = 0x00000001;
+  *((int *)&__m256_op0[1]) = 0x00000001;
+  *((int *)&__m256_op0[0]) = 0x00000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrml_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrml_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrml_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrml_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrml_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrml_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x7fe37fe3;
+  *((int *)&__m256_op0[6]) = 0x001d001d;
+  *((int *)&__m256_op0[5]) = 0x7fff7fff;
+  *((int *)&__m256_op0[4]) = 0x7fff0000;
+  *((int *)&__m256_op0[3]) = 0x7fe37fe3;
+  *((int *)&__m256_op0[2]) = 0x001d001d;
+  *((int *)&__m256_op0[1]) = 0x7fff7fff;
+  *((int *)&__m256_op0[0]) = 0x7fff0000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrml_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000010;
+  *((int *)&__m256_op0[6]) = 0x00000010;
+  *((int *)&__m256_op0[5]) = 0x00000010;
+  *((int *)&__m256_op0[4]) = 0x00000010;
+  *((int *)&__m256_op0[3]) = 0x00000010;
+  *((int *)&__m256_op0[2]) = 0x00000010;
+  *((int *)&__m256_op0[1]) = 0x00000010;
+  *((int *)&__m256_op0[0]) = 0x00000010;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrml_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrml_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x8b141414;
+  *((int *)&__m256_op0[4]) = 0x0e0e0e0e;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x36722a7e;
+  *((int *)&__m256_op0[0]) = 0x66972cd6;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+  __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x6a9e3f9a;
+  *((int *)&__m256_op0[4]) = 0x603a2001;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x6a9e3f9a;
+  *((int *)&__m256_op0[0]) = 0x603a2001;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+  __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000001;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x0000fafe;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x0000fafe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00fffefe;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0xfffffffc;
+  *((int *)&__m256_op0[4]) = 0x5556aaa8;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0xfffffffc;
+  *((int *)&__m256_op0[0]) = 0x5556aaa8;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0xffffcc80;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x7dfdff4b;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x002a5429;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x002a5429;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x77777777;
+  *((int *)&__m256_op0[6]) = 0xf7777777;
+  *((int *)&__m256_op0[5]) = 0xf7777777;
+  *((int *)&__m256_op0[4]) = 0x77777777;
+  *((int *)&__m256_op0[3]) = 0x77777777;
+  *((int *)&__m256_op0[2]) = 0xf7777777;
+  *((int *)&__m256_op0[1]) = 0xf7777777;
+  *((int *)&__m256_op0[0]) = 0x77777777;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000;
+  __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000009;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000009;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000009;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000009;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x010c7fbc;
+  *((int *)&__m256_op0[6]) = 0x7e1c7e1c;
+  *((int *)&__m256_op0[5]) = 0xfe000000;
+  *((int *)&__m256_op0[4]) = 0x00000024;
+  *((int *)&__m256_op0[3]) = 0x010c7fbc;
+  *((int *)&__m256_op0[2]) = 0x7e1c7e1c;
+  *((int *)&__m256_op0[1]) = 0xfe000000;
+  *((int *)&__m256_op0[0]) = 0x00000024;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+  __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xfffffe20;
+  *((int *)&__m256_op0[6]) = 0x001dfe1f;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0xfffffe20;
+  *((int *)&__m256_op0[2]) = 0x001dfe1f;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffe1;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffe1;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffe1;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffe1;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000040;
+  *((int *)&__m256_op0[6]) = 0x00000020;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000040;
+  *((int *)&__m256_op0[2]) = 0x00000020;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrph_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xfefefeff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xff295329;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xfefefeff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xff295329;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000;
+  __m256i_out = __lasx_xvftintrph_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xff00ffff;
+  *((int *)&__m256_op0[6]) = 0xff00ffff;
+  *((int *)&__m256_op0[5]) = 0xff00ffff;
+  *((int *)&__m256_op0[4]) = 0xff00ffff;
+  *((int *)&__m256_op0[3]) = 0xff00ffff;
+  *((int *)&__m256_op0[2]) = 0xff00ffff;
+  *((int *)&__m256_op0[1]) = 0xff00ffff;
+  *((int *)&__m256_op0[0]) = 0xff00ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000;
+  __m256i_out = __lasx_xvftintrph_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrph_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x7fefffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x7fefffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrph_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrph_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrph_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrph_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrph_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x02020102;
+  *((int *)&__m256_op0[6]) = 0x02020102;
+  *((int *)&__m256_op0[5]) = 0x02020102;
+  *((int *)&__m256_op0[4]) = 0x02020102;
+  *((int *)&__m256_op0[3]) = 0x02020102;
+  *((int *)&__m256_op0[2]) = 0x02020102;
+  *((int *)&__m256_op0[1]) = 0x02020102;
+  *((int *)&__m256_op0[0]) = 0x02020102;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+  __m256i_out = __lasx_xvftintrph_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000001;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000001;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000001;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+  __m256i_out = __lasx_xvftintrph_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x515f93f0;
+  *((int *)&__m256_op0[6]) = 0x23600fb9;
+  *((int *)&__m256_op0[5]) = 0x948b39e0;
+  *((int *)&__m256_op0[4]) = 0xb7405f6f;
+  *((int *)&__m256_op0[3]) = 0x48ef0878;
+  *((int *)&__m256_op0[2]) = 0x00007c83;
+  *((int *)&__m256_op0[1]) = 0x78af877c;
+  *((int *)&__m256_op0[0]) = 0x7d7f86f9;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000df93f0000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000077843;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrmh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x17171717;
+  *((int *)&__m256_op0[6]) = 0x17171717;
+  *((int *)&__m256_op0[5]) = 0x000607f7;
+  *((int *)&__m256_op0[4]) = 0x00000001;
+  *((int *)&__m256_op0[3]) = 0x17171717;
+  *((int *)&__m256_op0[2]) = 0x17171717;
+  *((int *)&__m256_op0[1]) = 0x000607f7;
+  *((int *)&__m256_op0[0]) = 0x00000001;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrmh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00ff00ff;
+  *((int *)&__m256_op0[6]) = 0x00ff00ff;
+  *((int *)&__m256_op0[5]) = 0x00ff00ff;
+  *((int *)&__m256_op0[4]) = 0x017e01fe;
+  *((int *)&__m256_op0[3]) = 0x017e00ff;
+  *((int *)&__m256_op0[2]) = 0x017e00ff;
+  *((int *)&__m256_op0[1]) = 0x00ff00ff;
+  *((int *)&__m256_op0[0]) = 0x017e01fe;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrmh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xfefefefe;
+  *((int *)&__m256_op0[6]) = 0xfefefefe;
+  *((int *)&__m256_op0[5]) = 0xfe8bfe0e;
+  *((int *)&__m256_op0[4]) = 0xfe8bfe12;
+  *((int *)&__m256_op0[3]) = 0xfefefefe;
+  *((int *)&__m256_op0[2]) = 0xfefefefe;
+  *((int *)&__m256_op0[1]) = 0xfe8bfe0e;
+  *((int *)&__m256_op0[0]) = 0xfe8bfe12;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000;
+  __m256i_out = __lasx_xvftintrmh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x71717171;
+  *((int *)&__m256_op0[6]) = 0x71010101;
+  *((int *)&__m256_op0[5]) = 0x8e8e8e8e;
+  *((int *)&__m256_op0[4]) = 0x8f00ffff;
+  *((int *)&__m256_op0[3]) = 0x71717171;
+  *((int *)&__m256_op0[2]) = 0x71010101;
+  *((int *)&__m256_op0[1]) = 0x8e8e8e8e;
+  *((int *)&__m256_op0[0]) = 0x8f00ffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+  *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+  __m256i_out = __lasx_xvftintrmh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00060000;
+  *((int *)&__m256_op0[6]) = 0x00040000;
+  *((int *)&__m256_op0[5]) = 0x00020000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00060000;
+  *((int *)&__m256_op0[2]) = 0x00040000;
+  *((int *)&__m256_op0[1]) = 0x00020000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrmh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xff1cff1c;
+  *((int *)&__m256_op0[6]) = 0xff1cff1c;
+  *((int *)&__m256_op0[5]) = 0xff1cff1c;
+  *((int *)&__m256_op0[4]) = 0xff1cff1c;
+  *((int *)&__m256_op0[3]) = 0xff1cff1c;
+  *((int *)&__m256_op0[2]) = 0xff1cff1c;
+  *((int *)&__m256_op0[1]) = 0xff1cff1c;
+  *((int *)&__m256_op0[0]) = 0xff1cff1c;
+  *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000;
+  __m256i_out = __lasx_xvftintrmh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x000fffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x000fffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrmh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00002262;
+  *((int *)&__m256_op0[6]) = 0x00005111;
+  *((int *)&__m256_op0[5]) = 0x0000165e;
+  *((int *)&__m256_op0[4]) = 0x0000480d;
+  *((int *)&__m256_op0[3]) = 0x00002262;
+  *((int *)&__m256_op0[2]) = 0x00005111;
+  *((int *)&__m256_op0[1]) = 0x0000165e;
+  *((int *)&__m256_op0[0]) = 0x0000480d;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0xffffffff;
+  *((int *)&__m256_op0[6]) = 0xffffffff;
+  *((int *)&__m256_op0[5]) = 0xffffffff;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0xffffffff;
+  *((int *)&__m256_op0[2]) = 0xffffffff;
+  *((int *)&__m256_op0[1]) = 0xffffffff;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0xffffffff;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0xffffffff;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00000000;
+  *((int *)&__m256_op0[6]) = 0x00000000;
+  *((int *)&__m256_op0[5]) = 0x00000000;
+  *((int *)&__m256_op0[4]) = 0x00000000;
+  *((int *)&__m256_op0[3]) = 0x00000000;
+  *((int *)&__m256_op0[2]) = 0x00000000;
+  *((int *)&__m256_op0[1]) = 0x00000000;
+  *((int *)&__m256_op0[0]) = 0x00000000;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  *((int *)&__m256_op0[7]) = 0x00040004;
+  *((int *)&__m256_op0[6]) = 0x00040004;
+  *((int *)&__m256_op0[5]) = 0x00040005;
+  *((int *)&__m256_op0[4]) = 0x00040005;
+  *((int *)&__m256_op0[3]) = 0x00040004;
+  *((int *)&__m256_op0[2]) = 0x00040004;
+  *((int *)&__m256_op0[1]) = 0x00040005;
+  *((int *)&__m256_op0[0]) = 0x00040005;
+  *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+  *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+  __m256i_out = __lasx_xvftintrzh_l_s (__m256_op0);
+  ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+  return 0;
+}