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