new file mode 100644
@@ -0,0 +1,501 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x81f7f2599f0509c2;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x51136d3c78388916;
+ *((unsigned long *)&__m256i_op1[3]) = 0x044819410d87e69a;
+ *((unsigned long *)&__m256i_op1[2]) = 0x21d3905ae3e93be0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x5125883a30da0f20;
+ *((unsigned long *)&__m256i_op1[0]) = 0x6d7b2d3ac2777aeb;
+ *((unsigned long *)&__m256i_result[3]) = 0x000019410000e69a;
+ *((unsigned long *)&__m256i_result[2]) = 0xf259905a09c23be0;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000883a00000f20;
+ *((unsigned long *)&__m256i_result[0]) = 0x6d3c2d3a89167aeb;
+ __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x4f8000004f800000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x4f7fffbf0000fe00;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000004f800000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x4f7fffe64f7fffc0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfe02fe02fee5fe22;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff49fe4200000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffbf0000fe000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000fe020000fe22;
+ *((unsigned long *)&__m256i_result[0]) = 0xffe6fe42ffc00000;
+ __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ff80;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000ff80;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackev_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc06500550055ffab;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc06500550055ffab;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0xffff0000ffff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00550000ffab0001;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff0000ffff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00550000ffab0001;
+ __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000401000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000401000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000401000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000401000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000400000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000400000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000400000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000400000000;
+ __m256i_out = __lasx_xvpackev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffff;
+ __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x01fe01fe01fe01fe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x01fe01fe01fe01fe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x01fe01fe01fe01fe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x01fe01fe00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x01fe01fe01fe01fe;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x01fe01fe00000000;
+ __m256i_out = __lasx_xvpackev_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackev_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00ffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff00ffffffffff;
+ __m256i_out = __lasx_xvpackev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+ __m256i_out = __lasx_xvpackev_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000154dc84;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000089;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000154dc84;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000089;
+ __m256i_out = __lasx_xvpackev_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000200;
+ __m256i_out = __lasx_xvpackev_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackev_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7f8000007f800000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fc000007fc00000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7f8000007f800000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fc000007fc00000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0080010000800100;
+ *((unsigned long *)&__m256i_result[2]) = 0x00c0000000c00000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0080010000800100;
+ *((unsigned long *)&__m256i_result[0]) = 0x00c0000000c00000;
+ __m256i_out = __lasx_xvpackev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000001fdfffffe02;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000001fefe;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff01fefffeff02;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000fd00ffff02ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000001fffeff;
+ *((unsigned long *)&__m256i_result[0]) = 0xff00fe00feff02ff;
+ __m256i_out = __lasx_xvpackev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8011ffee804c004c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00faff0500c3ff3c;
+ *((unsigned long *)&__m256i_op0[1]) = 0x80f900f980780078;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0057ffa800ceff31;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffee0000004c0000;
+ *((unsigned long *)&__m256i_result[2]) = 0xff050000ff3c0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00f9000000780000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffa80000ff310000;
+ __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+ __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000001d0000001d;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00001d0000001d00;
+ __m256i_out = __lasx_xvpackev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00003fe000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00003fe000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00003fe000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00003fe000000000;
+ __m256i_out = __lasx_xvpackev_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackev_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00ffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00000000;
+ __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x6);
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ff890000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ff790000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ff890000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ff790000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ff790000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ff790000;
+ __m256i_out = __lasx_xvpackev_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x41dffbffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffff00ff800000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x41dffbffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffff00ff800000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfbff0000ffff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfbff0000ffff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0xff00000000000000;
+ __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackev_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffe7ffffffe7;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffe7ffffffe7;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffe7ffffffe7;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffe7ffffffe7;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000007b007e;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000007b007e;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffe700000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffe7007b007e;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffe700000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffe7007b007e;
+ __m256i_out = __lasx_xvpackev_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000008000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0003fffc0803fff8;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000008000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0003fffc0803fff8;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000fffc0000fff8;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000fffc0000fff8;
+ __m256i_out = __lasx_xvpackev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
new file mode 100644
@@ -0,0 +1,575 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7f057f0b7f5b007f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7f00ff00ff00ff00;
+ *((unsigned long *)&__m256i_result[0]) = 0x7f7fff7fff7fff00;
+ __m256i_out = __lasx_xvpackod_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff00000000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000007fffffff;
+ __m256i_out = __lasx_xvpackod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffff5f5c;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffff5f5c;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000fff00000fff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000fff00000fff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000fff00000fff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000fff00000fff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000f0000000f;
+ *((unsigned long *)&__m256i_result[2]) = 0xff00ff0fff005f0f;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000f0000000f;
+ *((unsigned long *)&__m256i_result[0]) = 0xff00ff0fff005f0f;
+ __m256i_out = __lasx_xvpackod_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvpackod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffff000607f7;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000010017e7d1;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffff000607f7;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000001001807f1;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000e7;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000007;
+ __m256i_out = __lasx_xvpackod_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0002555500000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0002555500000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x555555553f800000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x555555553f800000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000002a542a;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000002a542a;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000005400;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000005400;
+ __m256i_out = __lasx_xvpackod_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvpackod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0007fff8000ffff0;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000007fff8;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0007fff8000ffff0;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000007fff8;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0007fff8000ffff0;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0007fff8000ffff0;
+ __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffefffef00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffefffefffefffef;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffefffef00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffefffefffefffef;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000002000000020;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000002000000020;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000002000000020;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000002000000020;
+ *((unsigned long *)&__m256i_result[3]) = 0xff00ff0000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xff00ff00ff00ff00;
+ *((unsigned long *)&__m256i_result[1]) = 0xff00ff0000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xff00ff00ff00ff00;
+ __m256i_out = __lasx_xvpackod_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000f0000000f000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000f0000000f000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000f0000000f000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000f0000000f000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000f0000000f000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000f0000000f000;
+ __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+ __m256i_out = __lasx_xvpackod_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000c8;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000c8;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000022beb03f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffa2beb040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000022beb03f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffa2beb040;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000022beb03f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffa2beb040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000022beb03f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffa2beb040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000022be22be;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff7fffa2bea2be;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000022be22be;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fff7fffa2bea2be;
+ __m256i_out = __lasx_xvpackod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfff10000fff10000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfff10000fff10000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfff10000fff10000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfff10000fff10000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff10000fff10000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff10000fff10000;
+ __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff10000fff10000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff10000fff10000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff1000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff1000000000000;
+ __m256i_out = __lasx_xvpackod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000200000008;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000200000008;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffff00ffffff00;
+ *((unsigned long *)&__m256i_op1[2]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffff00ffffff00;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ff0000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ff0000000000;
+ __m256i_out = __lasx_xvpackod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000555500005555;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000555500005555;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000555500005555;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000555500005555;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000fffcfffcfffc;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffcfffcfffcfffc;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000fffcfffcfffc;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffcfffcfffcfffc;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000fffcfffcfffc;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000fffcfffcfffc;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000a0008;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000a0008;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ff88ff88;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ff88ff88;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000080000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000080000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ff88ff88;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ff88ff88;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000fff8ffc0;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ff00fff8ffc0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000fff8ffc0;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ff00fff8ffc0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000fff80000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000fff80000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000fff80000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000fff80000;
+ __m256i_out = __lasx_xvpackod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+ __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpackod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fff00017fff0000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fff00017fff0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fff00017fff0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fff00017fff0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00007fff00007fff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00007fff00007fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00007fff00007fff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00007fff00007fff;
+ __m256i_out = __lasx_xvpackod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
new file mode 100644
@@ -0,0 +1,515 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffff90ffffff81;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffff90ffffff81;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000007f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000007f;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ff90ff81;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000007f;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ff90ff81;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000007f;
+ __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickev_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffe81;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffe81;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickev_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000001341c4000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000001000310000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000033e87ef1;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000002e2100;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000011c00;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000e8f1;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000103100;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000002e00;
+ __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000004290;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000004290;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000004290;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000004290;
+ __m256i_out = __lasx_xvpickev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+ __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xbfbfbfbfbfbfbfbf;
+ *((unsigned long *)&__m256i_op1[2]) = 0xbfbfbfbfbfbfbfbf;
+ *((unsigned long *)&__m256i_op1[1]) = 0xbfbfbfbfbfbfbfbf;
+ *((unsigned long *)&__m256i_op1[0]) = 0xbfbfbfbfbfbfbfbf;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xbfbfbfbfbfbfbfbf;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xbfbfbfbfbfbfbfbf;
+ __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000010000;
+ __m256i_out = __lasx_xvpickev_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+ __m256i_out = __lasx_xvpickev_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xa020202020202020;
+ *((unsigned long *)&__m256i_op1[2]) = 0xa020202020206431;
+ *((unsigned long *)&__m256i_op1[1]) = 0xa020202020202020;
+ *((unsigned long *)&__m256i_op1[0]) = 0xa020202020206431;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x2020202020202031;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x2020202020202031;
+ __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0004040404000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0004040404000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0004040404000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0004040404000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[3]) = 0x0404000004040000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[1]) = 0x0404000004040000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+ __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0xf800d0d8ffffeecf;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000383fffffdf0d;
+ *((unsigned long *)&__m256i_op1[1]) = 0xf800d0d8ffffeecf;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000383fffffdf0d;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[2]) = 0xd0d8eecf383fdf0d;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[0]) = 0xd0d8eecf383fdf0d;
+ __m256i_out = __lasx_xvpickev_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+ __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickev_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xdf80ff20df80ff20;
+ *((unsigned long *)&__m256i_op0[2]) = 0xdfc2ff20df80ffa7;
+ *((unsigned long *)&__m256i_op0[1]) = 0xdf80ff20df80ff20;
+ *((unsigned long *)&__m256i_op0[0]) = 0xdfc2ff20df80ffa7;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x80208020c22080a7;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x80208020c22080a7;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvpickev_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000040000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000040000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000400;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000400;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffe0047d00e00480;
+ *((unsigned long *)&__m256i_op1[2]) = 0x001fc0200060047a;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffe0047d00e00480;
+ *((unsigned long *)&__m256i_op1[0]) = 0x001fc0200060047a;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xe07de0801f20607a;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xe07de0801f20607a;
+ __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000400000004;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000400000004;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickev_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvpickev_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000800080010000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000800080010000;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000800080010000;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000800080010000;
+ __m256i_out = __lasx_xvpickev_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000001fffffff9;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000001fffffff9;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000001fffffff9;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000001fffffff9;
+ *((unsigned long *)&__m256i_result[3]) = 0x9ffffd8020010001;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffff9fffffff9;
+ *((unsigned long *)&__m256i_result[1]) = 0x9ffffd8020010001;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffff9fffffff9;
+ __m256i_out = __lasx_xvpickev_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+ __m256i_out = __lasx_xvpickev_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000070002000a;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000070002000a;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000060002000a;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000060002000a;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvpickev_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickev_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
new file mode 100644
@@ -0,0 +1,530 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0003f8040002f607;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0002728b00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffff328dfff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x6651bfff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0003f8040002f607;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffff328dfff;
+ __m256i_out = __lasx_xvpickod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0080200000802000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0080200000802000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1e18000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1e18000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1e18000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x1e18000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00200020ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x1e0000001e000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00200020ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x1e0000001e000000;
+ __m256i_out = __lasx_xvpickod_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0080200000802000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0080200000802000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00800080ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00800080ffffffff;
+ __m256i_out = __lasx_xvpickod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvpickod_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvpickod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0004000400040004;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffff8c80;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000fffffe40;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000040004;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0400040004000400;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0400040004000400;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0400040004000400;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0400040004000400;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0400040004000400;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0400040004000400;
+ __m256i_out = __lasx_xvpickod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xb70036db12c4007e;
+ *((unsigned long *)&__m256i_op0[2]) = 0xb7146213fc1e0049;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000fefe02fffe;
+ *((unsigned long *)&__m256i_op0[0]) = 0xb71c413b199d04b5;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff017e00ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x017e00ff017e01fe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff017e00ff;
+ *((unsigned long *)&__m256i_result[3]) = 0xb70012c4b714fc1e;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff00ff017e;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000fe02b71c199d;
+ *((unsigned long *)&__m256i_result[0]) = 0x017e017e00ff017e;
+ __m256i_out = __lasx_xvpickod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xc080ffff0049ffd2;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0049ffd2;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000fffeffb9ff9d;
+ *((unsigned long *)&__m256i_op0[0]) = 0x01620133004b0032;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0002ff80ffb70000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffb7ff80ffd0ffd8;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00010000002fff9e;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffb5ff80ffd0ffd8;
+ *((unsigned long *)&__m256i_result[3]) = 0xc080ffff0049ffd2;
+ *((unsigned long *)&__m256i_result[2]) = 0x0002ff80ffb70000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000fffeffb9ff9d;
+ *((unsigned long *)&__m256i_result[0]) = 0x00010000002fff9e;
+ __m256i_out = __lasx_xvpickod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xbabababababababa;
+ *((unsigned long *)&__m256i_op1[2]) = 0xbabababababababa;
+ *((unsigned long *)&__m256i_op1[1]) = 0xbabababababababa;
+ *((unsigned long *)&__m256i_op1[0]) = 0xbabababababababa;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xbabababababababa;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xbabababababababa;
+ __m256i_out = __lasx_xvpickod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000003f3f3f3c;
+ *((unsigned long *)&__m256i_op1[2]) = 0xc6c6c6c68787878a;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000003f3f3f3c;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8787878a00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00003f3fc6c68787;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00003f3f87870000;
+ __m256i_out = __lasx_xvpickod_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000007fff003f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000007fff003f;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000007fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000007fff;
+ __m256i_out = __lasx_xvpickod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op0[1]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000002467db99;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000003e143852;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000002467db99;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000003e143852;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000044444443;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7bbbbbbbf7777778;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000044444443;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7bbbbbbbf7777778;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000246700003e14;
+ *((unsigned long *)&__m256i_result[2]) = 0x000044447bbbf777;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000246700003e14;
+ *((unsigned long *)&__m256i_result[0]) = 0x000044447bbbf777;
+ __m256i_out = __lasx_xvpickod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0002000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0002000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0006000000020000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0006000000020000;
+ __m256i_out = __lasx_xvpickod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvpickod_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x007f00ff007f00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x007f00ff007f00ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x007f00ff007f00ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x007f00ff007f00ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xbff00000bff00000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xbff00000bff00000;
+ __m256i_out = __lasx_xvpickod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x9ff87ef07f7f817f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7f807f007f7f817f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x9ff87ef07f7f817f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7f807f007f7f817f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x9ff87f7f7f807f7f;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x9ff87f7f7f807f7f;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffe98;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffe98;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000007f0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000007f0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000007f0000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000007f0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000007f00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000007f00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000007f00000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000007f00000000;
+ __m256i_out = __lasx_xvpickod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ff80;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvpickod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
new file mode 100644
@@ -0,0 +1,130 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[1]) = 0x010180068080fff9;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+ __m256i_out = __lasx_xvpickve_d (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickve_w (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00fe01f000010000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000c40086;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00fe01f000010000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000c40086;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000c40086;
+ __m256i_out = __lasx_xvpickve_d (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickve_d (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0002000200020002;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff820002ff820002;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0002000200020002;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff820002ff820002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0002000200020002;
+ __m256i_out = __lasx_xvpickve_d (__m256i_op0, 0x3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x4000000000000000;
+ __m256i_out = __lasx_xvpickve_d (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickve_w (__m256i_op0, 0x5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvpickve_d (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvpickve_w (__m256i_op0, 0x3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvpickve_w (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
new file mode 100644
@@ -0,0 +1,388 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0cc08723ff900001;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xcc9b89f2f6cef440;
+ int_result = 0x0000000000000000;
+ int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x7);
+ ASSERTEQ_int (__LINE__, int_result, int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ff80;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ int_result = 0x000000000000ffff;
+ int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x6);
+ ASSERTEQ_int (__LINE__, int_result, int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff00000000;
+ unsigned_long_int_result = 0x0000000000000000;
+ unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x3);
+ ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ff90ff81;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000007f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ff90ff81;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000007f;
+ int_result = 0x000000000000007f;
+ int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x4);
+ ASSERTEQ_int (__LINE__, int_result, int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ int_result = 0x00000000ffffffff;
+ int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x1);
+ ASSERTEQ_int (__LINE__, int_result, int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ unsigned_int_result = 0x0000000000000000;
+ unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x2);
+ ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffefdfffffefd;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ int_result = 0x00000000fffffefd;
+ int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x4);
+ ASSERTEQ_int (__LINE__, int_result, int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ long_int_result = 0x0000000000000000;
+ long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x2);
+ ASSERTEQ_int (__LINE__, long_int_result, long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x555555553f800000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x5555555580000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x555555553f800000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x5555555580000000;
+ int_result = 0x0000000055555555;
+ int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x5);
+ ASSERTEQ_int (__LINE__, int_result, int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ long_int_result = 0x0000000000000000;
+ long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x2);
+ ASSERTEQ_int (__LINE__, long_int_result, long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0002000400000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0002000200020006;
+ unsigned_int_result = 0x0000000000020006;
+ unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x0);
+ ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1f0fdf7f3e3b31d4;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff8000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1f0fdf7f3e3b31d4;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff8000000000000;
+ long_int_result = 0x1f0fdf7f3e3b31d4;
+ long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x1);
+ ASSERTEQ_int (__LINE__, long_int_result, long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ unsigned_long_int_result = 0x0000000000000000;
+ unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x3);
+ ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00fe01fc01fe01fc;
+ *((unsigned long *)&__m256i_op0[2]) = 0x012c002c001c0006;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00fe01fc01fe0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x012c002c001c000a;
+ long_int_result = 0xfe01fc01fe0000;
+ long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x1);
+ ASSERTEQ_int (__LINE__, long_int_result, long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ unsigned_long_int_result = 0x00000000ffffffff;
+ unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x2);
+ ASSERTEQ_int (__LINE__, unsigned_long_int_out, unsigned_long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_result = 0x0000000000000000;
+ int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x0);
+ ASSERTEQ_int (__LINE__, int_result, int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ unsigned_long_int_result = 0x0000000000000000;
+ unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x3);
+ ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_result = 0x0000000000000000;
+ int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x5);
+ ASSERTEQ_int (__LINE__, int_result, int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffff0100;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ long_int_result = 0x00000000ffff0100;
+ long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x1);
+ ASSERTEQ_int (__LINE__, long_int_result, long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff0000000000000;
+ int_result = 0x000000007ff00000;
+ int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x1);
+ ASSERTEQ_int (__LINE__, int_result, int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ unsigned_long_int_result = 0x00000000ffffffff;
+ unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x0);
+ ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ unsigned_long_int_result = 0x0000000000000000;
+ unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x2);
+ ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000ff;
+ int_result = 0x0000000000000000;
+ int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x6);
+ ASSERTEQ_int (__LINE__, int_result, int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ unsigned_long_int_result = 0xffffffffffffffff;
+ unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x1);
+ ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ unsigned_int_result = 0x0000000000000000;
+ unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x5);
+ ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffff0100000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffff0100000001;
+ unsigned_int_result = 0x0000000000000000;
+ unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x7);
+ ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff0008;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffff0008;
+ int_result = 0x0000000000000000;
+ int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x6);
+ ASSERTEQ_int (__LINE__, int_result, int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_result = 0x0000000000000000;
+ int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x1);
+ ASSERTEQ_int (__LINE__, int_result, int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ long_int_result = 0x0000000000000000;
+ long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x0);
+ ASSERTEQ_int (__LINE__, long_int_result, long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ long_int_result = 0x0000000000000000;
+ long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x2);
+ ASSERTEQ_int (__LINE__, long_int_result, long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ long_int_result = 0x000000000000ffff;
+ long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x0);
+ ASSERTEQ_int (__LINE__, long_int_result, long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000100010;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0010001000100010;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000100010;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0010001000100010;
+ unsigned_int_result = 0x0000000000100010;
+ unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x2);
+ ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ unsigned_int_result = 0x0000000000000000;
+ unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x3);
+ ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ unsigned_long_int_result = 0x0000000000000000;
+ unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x1);
+ ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000100040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000100040;
+ unsigned_int_result = 0x0000000000000040;
+ unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x6);
+ ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ unsigned_long_int_result = 0x0000000000000000;
+ unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x2);
+ ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ unsigned_long_int_result = 0x0000000000000000;
+ unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x3);
+ ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_result = 0x0000000000000000;
+ int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x6);
+ ASSERTEQ_int (__LINE__, int_result, int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ long_int_result = 0xffffffffffffffff;
+ long_int_out = __lasx_xvpickve2gr_d (__m256i_op0, 0x0);
+ ASSERTEQ_int (__LINE__, long_int_result, long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ unsigned_int_result = 0x00000000ffffffff;
+ unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x5);
+ ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ unsigned_int_result = 0x00000000ffffffff;
+ unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x4);
+ ASSERTEQ_int (__LINE__, unsigned_int_result, unsigned_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ unsigned_long_int_result = 0x0000000000000000;
+ unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x1);
+ ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ unsigned_long_int_result = 0x0000000000000000;
+ unsigned_long_int_out = __lasx_xvpickve2gr_du (__m256i_op0, 0x3);
+ ASSERTEQ_int (__LINE__, unsigned_long_int_result, unsigned_long_int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_result = 0x0000000000000000;
+ int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x0);
+ ASSERTEQ_int (__LINE__, int_result, int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ int_result = 0x00000000ffffffff;
+ int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x2);
+ ASSERTEQ_int (__LINE__, int_result, int_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffd880;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffd880;
+ int_result = 0x0000000000000000;
+ int_out = __lasx_xvpickve2gr_w (__m256i_op0, 0x2);
+ ASSERTEQ_int (__LINE__, int_result, int_out);
+
+ return 0;
+}
new file mode 100644
@@ -0,0 +1,380 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ int_op0 = 0x0000001b3c4c0a5c;
+ *((unsigned long *)&__m256i_result[3]) = 0x3c4c0a5c3c4c0a5c;
+ *((unsigned long *)&__m256i_result[2]) = 0x3c4c0a5c3c4c0a5c;
+ *((unsigned long *)&__m256i_result[1]) = 0x3c4c0a5c3c4c0a5c;
+ *((unsigned long *)&__m256i_result[0]) = 0x3c4c0a5c3c4c0a5c;
+ __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000397541c58;
+ *((unsigned long *)&__m256i_result[3]) = 0x97541c5897541c58;
+ *((unsigned long *)&__m256i_result[2]) = 0x97541c5897541c58;
+ *((unsigned long *)&__m256i_result[1]) = 0x97541c5897541c58;
+ *((unsigned long *)&__m256i_result[0]) = 0x97541c5897541c58;
+ __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ long_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000400;
+ *((unsigned long *)&__m256i_result[3]) = 0x0400040004000400;
+ *((unsigned long *)&__m256i_result[2]) = 0x0400040004000400;
+ *((unsigned long *)&__m256i_result[1]) = 0x0400040004000400;
+ *((unsigned long *)&__m256i_result[0]) = 0x0400040004000400;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+ __m256i_out = __lasx_xvreplgr2vr_b (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_b (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000084;
+ *((unsigned long *)&__m256i_result[3]) = 0x0084008400840084;
+ *((unsigned long *)&__m256i_result[2]) = 0x0084008400840084;
+ *((unsigned long *)&__m256i_result[1]) = 0x0084008400840084;
+ *((unsigned long *)&__m256i_result[0]) = 0x0084008400840084;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ long_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_b (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000ff000000ff;
+ __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000020202020;
+ *((unsigned long *)&__m256i_result[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[2]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[0]) = 0x2020202020202020;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000020202020;
+ *((unsigned long *)&__m256i_result[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[2]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[0]) = 0x2020202020202020;
+ __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_b (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ long_op0 = 0x0000000020202020;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000020202020;
+ __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ long_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ long_op0 = 0x0000000000020006;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000020006;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000020006;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000020006;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000020006;
+ __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000ff000000ff;
+ __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ long_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_b (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ long_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ long_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000ff000000ff;
+ __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ long_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ long_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ long_op0 = 0x0000000000020006;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000020006;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000020006;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000020006;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000020006;
+ __m256i_out = __lasx_xvreplgr2vr_d (long_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvreplgr2vr_h (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ int_op0 = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvreplgr2vr_w (int_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
new file mode 100644
@@ -0,0 +1,536 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x0000001b3c4c0a5c;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffefb;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffefb;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000fe;
+ int_op1 = 0x0000000059815d00;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000000fe;
+ __m256i_out = __lasx_xvreplve_d (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_op0[2]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_op0[1]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_op0[0]) = 0x555555ab555555ab;
+ int_op1 = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_result[2]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_result[1]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_result[0]) = 0x555555ab555555ab;
+ __m256i_out = __lasx_xvreplve_d (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+ __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000012e2110;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0202020202020202;
+ *((unsigned long *)&__m256i_result[2]) = 0x0202020202020202;
+ *((unsigned long *)&__m256i_result[1]) = 0x1010101010101010;
+ *((unsigned long *)&__m256i_result[0]) = 0x1010101010101010;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000003f;
+ int_op1 = 0x0000000000000400;
+ *((unsigned long *)&__m256i_result[3]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_result[2]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_result[1]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_result[0]) = 0x003f003f003f003f;
+ __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x003f003f003f003f;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_result[2]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_result[1]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_result[0]) = 0x003f003f003f003f;
+ __m256i_out = __lasx_xvreplve_w (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000003f0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000003f0000;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xe161616161616161;
+ *((unsigned long *)&__m256i_op0[2]) = 0xe161616161614e60;
+ *((unsigned long *)&__m256i_op0[1]) = 0xe161616161616161;
+ *((unsigned long *)&__m256i_op0[0]) = 0xe161616161614e60;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xe161616161614e60;
+ *((unsigned long *)&__m256i_result[2]) = 0xe161616161614e60;
+ *((unsigned long *)&__m256i_result[1]) = 0xe161616161614e60;
+ *((unsigned long *)&__m256i_result[0]) = 0xe161616161614e60;
+ __m256i_out = __lasx_xvreplve_d (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000080;
+ int_op1 = 0x00000000000000ac;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000080;
+ __m256i_out = __lasx_xvreplve_d (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x0000000000000400;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff00d5007f00ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00ffffff00ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff00d5007f00ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00ffffff00ffff;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_d (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_w (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000020202020;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[2]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[0]) = 0x2020202020202020;
+ __m256i_out = __lasx_xvreplve_w (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffff7fffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffff7fffff;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc192181230000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc192181230000000;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000ff00ff;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000ff00ff;
+ __m256i_out = __lasx_xvreplve_d (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fef7fef7fef7fef;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fef7fef7fef7fef;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fef7fef7fef7fef;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fef7fef7fef7fef;
+ __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffff00ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffff00ffffffff;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fe37fe3001d001d;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff7fff0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fe37fe3001d001d;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff7fff0000;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x007f010700c70106;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x007f010700c70106;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0106010601060106;
+ *((unsigned long *)&__m256i_result[2]) = 0x0106010601060106;
+ *((unsigned long *)&__m256i_result[1]) = 0x0106010601060106;
+ *((unsigned long *)&__m256i_result[0]) = 0x0106010601060106;
+ __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_h (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvreplve_w (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_d (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000003fff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000003fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000003fff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000003fff;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000040;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_result[2]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_result[1]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_result[0]) = 0x4040404040404040;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000001010101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000404;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000001010101;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000404;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0404040404040404;
+ *((unsigned long *)&__m256i_result[2]) = 0x0404040404040404;
+ *((unsigned long *)&__m256i_result[1]) = 0x0404040404040404;
+ *((unsigned long *)&__m256i_result[0]) = 0x0404040404040404;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000800080;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000202;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000800080;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000202;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000202;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000202;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000202;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000202;
+ __m256i_out = __lasx_xvreplve_d (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x000000003ddc5dac;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_d (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ int_op1 = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000200000002;
+ int_op1 = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve_b (__m256i_op0, int_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
new file mode 100644
@@ -0,0 +1,471 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffeffffff88;
+ *((unsigned long *)&__m256i_op0[2]) = 0x61e0000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffeffffff88;
+ *((unsigned long *)&__m256i_op0[0]) = 0x61e0000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+ __m256i_out = __lasx_xvreplve0_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffff80fe;
+ *((unsigned long *)&__m256i_op0[2]) = 0xd52aaaaa555555ab;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffff80fe;
+ *((unsigned long *)&__m256i_op0[0]) = 0xd52aaaaa555555ab;
+ *((unsigned long *)&__m256i_result[3]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_result[2]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_result[1]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_result[0]) = 0x555555ab555555ab;
+ __m256i_out = __lasx_xvreplve0_w (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvreplve0_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_result[3]) = 0x8080808080808080;
+ *((unsigned long *)&__m256i_result[2]) = 0x8080808080808080;
+ *((unsigned long *)&__m256i_result[1]) = 0x8080808080808080;
+ *((unsigned long *)&__m256i_result[0]) = 0x8080808080808080;
+ __m256i_out = __lasx_xvreplve0_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000003fff3fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x3fff3fff3fff4000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000403f3fff;
+ *((unsigned long *)&__m256i_result[3]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_result[2]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_result[0]) = 0x3fff3fff3fff3fff;
+ __m256i_out = __lasx_xvreplve0_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_w (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000000080000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000080000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000000080000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000080000001;
+ __m256i_out = __lasx_xvreplve0_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_result[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[2]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[0]) = 0x2020202020202020;
+ __m256i_out = __lasx_xvreplve0_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_q (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0007fd00000f02ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000001fffeff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00fe00feff02ff;
+ *((unsigned long *)&__m256i_result[3]) = 0xff00fe00feff02ff;
+ *((unsigned long *)&__m256i_result[2]) = 0xff00fe00feff02ff;
+ *((unsigned long *)&__m256i_result[1]) = 0xff00fe00feff02ff;
+ *((unsigned long *)&__m256i_result[0]) = 0xff00fe00feff02ff;
+ __m256i_out = __lasx_xvreplve0_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfc00ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000100fe000100fe;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfc00ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000100fe000100fe;
+ *((unsigned long *)&__m256i_result[3]) = 0x00fe00fe00fe00fe;
+ *((unsigned long *)&__m256i_result[2]) = 0x00fe00fe00fe00fe;
+ *((unsigned long *)&__m256i_result[1]) = 0x00fe00fe00fe00fe;
+ *((unsigned long *)&__m256i_result[0]) = 0x00fe00fe00fe00fe;
+ __m256i_out = __lasx_xvreplve0_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_op0[2]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_op0[0]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_result[3]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_result[2]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_result[1]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_result[0]) = 0x4040404040404040;
+ __m256i_out = __lasx_xvreplve0_w (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_q (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000781;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000064;
+ __m256i_out = __lasx_xvreplve0_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_q (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_q (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvreplve0_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvreplve0_q (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffe0047d00e00480;
+ *((unsigned long *)&__m256i_op0[2]) = 0x001fc0200060047a;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffe0047d00e00480;
+ *((unsigned long *)&__m256i_op0[0]) = 0x001fc0200060047a;
+ *((unsigned long *)&__m256i_result[3]) = 0x047a047a047a047a;
+ *((unsigned long *)&__m256i_result[2]) = 0x047a047a047a047a;
+ *((unsigned long *)&__m256i_result[1]) = 0x047a047a047a047a;
+ *((unsigned long *)&__m256i_result[0]) = 0x047a047a047a047a;
+ __m256i_out = __lasx_xvreplve0_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x037fe01f001fe020;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x037fe01f001fe020;
+ *((unsigned long *)&__m256i_result[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[2]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[0]) = 0x2020202020202020;
+ __m256i_out = __lasx_xvreplve0_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_w (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0d0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0d0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_result[3]) = 0x0d0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_result[2]) = 0x0d0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_result[1]) = 0x0d0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_result[0]) = 0x0d0d0d0d0d0d0d0d;
+ __m256i_out = __lasx_xvreplve0_w (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_result[3]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_result[2]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_result[1]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_result[0]) = 0x0202010202020102;
+ __m256i_out = __lasx_xvreplve0_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff00ff00ff;
+ __m256i_out = __lasx_xvreplve0_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffe00000001;
+ __m256i_out = __lasx_xvreplve0_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x800080ff800080ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x800080ff800080ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x800080ff800080ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x800080ff800080ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x800080ff800080ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x800080ff800080ff;
+ __m256i_out = __lasx_xvreplve0_w (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_q (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvreplve0_q (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff97a2;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffff97a2;
+ *((unsigned long *)&__m256i_result[3]) = 0x97a297a297a297a2;
+ *((unsigned long *)&__m256i_result[2]) = 0x97a297a297a297a2;
+ *((unsigned long *)&__m256i_result[1]) = 0x97a297a297a297a2;
+ *((unsigned long *)&__m256i_result[0]) = 0x97a297a297a297a2;
+ __m256i_out = __lasx_xvreplve0_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+ __m256i_out = __lasx_xvreplve0_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvreplve0_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
new file mode 100644
@@ -0,0 +1,20 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ return 0;
+}
new file mode 100644
@@ -0,0 +1,430 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00007ffffffff7ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x49d8080067f4f81f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00007f00fffff7ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xd8490849f467f867;
+ __m256i_out = __lasx_xvshuf4i_b (__m256i_op0, 0xb7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf4i_b (__m256i_op0, 0xdb);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf4i_b (__m256i_op0, 0x95);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffb3b4;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffff5ffff4738;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffb3b4;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffff5ffff4738;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvshuf4i_b (__m256i_op0, 0xee);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf4i_b (__m256i_op0, 0x2f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf4i_b (__m256i_op0, 0x6f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf4i_b (__m256i_op0, 0x23);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00007ffffffff7ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x49d8080067f4f81f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7ffff7ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x080008000800f81f;
+ __m256i_out = __lasx_xvshuf4i_h (__m256i_op0, 0xa8);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xc5c5c5c4c5c5c5c4;
+ *((unsigned long *)&__m256i_op0[2]) = 0x45c5c5c545c5c5c5;
+ *((unsigned long *)&__m256i_op0[1]) = 0xc5c5c5c4c5c5c5c4;
+ *((unsigned long *)&__m256i_op0[0]) = 0x45c5c5c545c5c5c5;
+ *((unsigned long *)&__m256i_result[3]) = 0xc5c4c5c5c5c5c5c5;
+ *((unsigned long *)&__m256i_result[2]) = 0xc5c545c545c545c5;
+ *((unsigned long *)&__m256i_result[1]) = 0xc5c4c5c5c5c5c5c5;
+ *((unsigned long *)&__m256i_result[0]) = 0xc5c545c545c545c5;
+ __m256i_out = __lasx_xvshuf4i_h (__m256i_op0, 0x3d);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvshuf4i_h (__m256i_op0, 0xf7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf4i_h (__m256i_op0, 0x3a);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffff0000;
+ __m256i_out = __lasx_xvshuf4i_h (__m256i_op0, 0xa7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_result[3]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_result[2]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_result[1]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_result[0]) = 0xff1cff1cff1cff1c;
+ __m256i_out = __lasx_xvshuf4i_h (__m256i_op0, 0xdc);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffff0020;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff8001ffff0001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffff0020;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff8001ffff0001;
+ *((unsigned long *)&__m256i_result[3]) = 0xffff000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff8001ffff8001;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff8001ffff8001;
+ __m256i_out = __lasx_xvshuf4i_h (__m256i_op0, 0x6e);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvshuf4i_h (__m256i_op0, 0x9f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op0[2]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op0[0]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_result[3]) = 0x0002ffff00020002;
+ *((unsigned long *)&__m256i_result[2]) = 0x04f504f104f504f5;
+ *((unsigned long *)&__m256i_result[1]) = 0x0002ffff00020002;
+ *((unsigned long *)&__m256i_result[0]) = 0x04f504f104f504f5;
+ __m256i_out = __lasx_xvshuf4i_h (__m256i_op0, 0x65);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1e18000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1e18000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1e18000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1e18000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x1e1800001e180000;
+ *((unsigned long *)&__m256i_result[2]) = 0x1e18000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x1e1800001e180000;
+ *((unsigned long *)&__m256i_result[0]) = 0x1e18000000000000;
+ __m256i_out = __lasx_xvshuf4i_w (__m256i_op0, 0xfe);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf4i_w (__m256i_op0, 0x64);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xc5c5c5c4c5c5c5c4;
+ *((unsigned long *)&__m256i_op0[2]) = 0x45c5c5c545c5c5c5;
+ *((unsigned long *)&__m256i_op0[1]) = 0xc5c5c5c4c5c5c5c4;
+ *((unsigned long *)&__m256i_op0[0]) = 0x45c5c5c545c5c5c5;
+ *((unsigned long *)&__m256i_result[3]) = 0xc5c5c5c4c5c5c5c4;
+ *((unsigned long *)&__m256i_result[2]) = 0x45c5c5c545c5c5c5;
+ *((unsigned long *)&__m256i_result[1]) = 0xc5c5c5c4c5c5c5c4;
+ *((unsigned long *)&__m256i_result[0]) = 0x45c5c5c545c5c5c5;
+ __m256i_out = __lasx_xvshuf4i_w (__m256i_op0, 0xb0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000f9f900;
+ *((unsigned long *)&__m256i_op0[2]) = 0x79f9f9f900f9f9e0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000f9f900;
+ *((unsigned long *)&__m256i_op0[0]) = 0x79f9f9f900f9f900;
+ *((unsigned long *)&__m256i_result[3]) = 0x00f9f90079f9f9f9;
+ *((unsigned long *)&__m256i_result[2]) = 0x79f9f9f900000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00f9f90079f9f9f9;
+ *((unsigned long *)&__m256i_result[0]) = 0x79f9f9f900000000;
+ __m256i_out = __lasx_xvshuf4i_w (__m256i_op0, 0x97);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000007aff7c00;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffd017d00;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000007aff7c00;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffd017d00;
+ *((unsigned long *)&__m256i_result[3]) = 0x7aff7c0000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfd017d0000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7aff7c0000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfd017d0000000000;
+ __m256i_out = __lasx_xvshuf4i_w (__m256i_op0, 0xb3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xc3f0c3f0c3f0c3f0;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc3f0c3f0c3f0c3f0;
+ *((unsigned long *)&__m256i_op0[1]) = 0xc3f0c3f0c3f0c3f0;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc3f0c3f0c3f0c3f0;
+ *((unsigned long *)&__m256i_result[3]) = 0xc3f0c3f0c3f0c3f0;
+ *((unsigned long *)&__m256i_result[2]) = 0xc3f0c3f0c3f0c3f0;
+ *((unsigned long *)&__m256i_result[1]) = 0xc3f0c3f0c3f0c3f0;
+ *((unsigned long *)&__m256i_result[0]) = 0xc3f0c3f0c3f0c3f0;
+ __m256i_out = __lasx_xvshuf4i_w (__m256i_op0, 0x3c);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvshuf4i_w (__m256i_op0, 0xf4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff81ff7d;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff81ff7d;
+ *((unsigned long *)&__m256i_result[3]) = 0xff81ff7dffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffff81ff7d;
+ *((unsigned long *)&__m256i_result[1]) = 0xff81ff7dffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffff81ff7d;
+ __m256i_out = __lasx_xvshuf4i_w (__m256i_op0, 0x28);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000002000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000020ff790020;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000002000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000020ff790020;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000002000000020;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000002000000020;
+ __m256i_out = __lasx_xvshuf4i_w (__m256i_op0, 0xa5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0101010183f95466;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[1]) = 0x01010101d58efe94;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010183f95466;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x01010101d58efe94;
+ __m256i_out = __lasx_xvshuf4i_d (__m256i_op0, __m256i_op1, 0xa7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf4i_d (__m256i_op0, __m256i_op1, 0xd9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00001fff00001fff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00001fff00001fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00001fff00001fff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00001fff00001fff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00001fff00001fff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00001fff00001fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00001fff00001fff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00001fff00001fff;
+ __m256i_out = __lasx_xvshuf4i_d (__m256i_op0, __m256i_op1, 0x5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff80be0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000f0f0002;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff80be0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000f1002;
+ *((unsigned long *)&__m256i_op1[3]) = 0x80000000ff800000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x80000000ff800000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x80000000ff800000;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x80000000ff800000;
+ __m256i_out = __lasx_xvshuf4i_d (__m256i_op0, __m256i_op1, 0xdb);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000080000009;
+ *((unsigned long *)&__m256i_op1[2]) = 0x43ef878780000009;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000080000009;
+ *((unsigned long *)&__m256i_op1[0]) = 0x43ef878780000009;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x43ef878780000009;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x43ef878780000009;
+ __m256i_out = __lasx_xvshuf4i_d (__m256i_op0, __m256i_op1, 0x36);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvshuf4i_d (__m256i_op0, __m256i_op1, 0x5a);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf4i_d (__m256i_op0, __m256i_op1, 0x5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf4i_d (__m256i_op0, __m256i_op1, 0xd);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fff00017fff0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff00017fff0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fff00017fff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff00017fff0000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op1[2]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op1[0]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_result[2]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_result[0]) = 0x04f104f104f504ed;
+ __m256i_out = __lasx_xvshuf4i_d (__m256i_op0, __m256i_op1, 0x7e);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
new file mode 100644
@@ -0,0 +1,761 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000007070707;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0102040000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000020100;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0703020000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfe02fe02fee5fe22;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff49fe4200000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffefefffffcfa;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0xfffffff8fffffff8;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0xfffffff8fc000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfafafafafafafafa;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000fefefe;
+ __m256i_out = __lasx_xvshuf_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x3ff0010000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x3ff0010000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffff000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff0000ffff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff0000ffff0000;
+ __m256i_out = __lasx_xvshuf_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000003ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000003ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000077fff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffefe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000101;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffefe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000101;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x67eee33567eee435;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x67eee33567eee435;
+ *((unsigned long *)&__m256i_op2[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvshuf_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff80000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff80000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xefdfefdf00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xefdfefdfefdfefdf;
+ *((unsigned long *)&__m256i_op1[1]) = 0xefdfefdf00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xefdfefdfefdfefdf;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7575ffff75757595;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7575ffff7575f575;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7575ffff75757595;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7575ffff7575f575;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op2[3]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_op2[2]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_op2[1]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_op2[0]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000fffff800;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000fffff800;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x00000000fffff800;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x00000000fffff800;
+ *((unsigned long *)&__m256i_result[3]) = 0xf800f800f800f800;
+ *((unsigned long *)&__m256i_result[2]) = 0xf800f800f800f800;
+ *((unsigned long *)&__m256i_result[1]) = 0xf800f800f800f800;
+ *((unsigned long *)&__m256i_result[0]) = 0xf800f800f800f800;
+ __m256i_out = __lasx_xvshuf_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000fffe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000f0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000fffe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000f0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x000000ffff88ff88;
+ *((unsigned long *)&__m256i_op2[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x000000ffff88ff88;
+ *((unsigned long *)&__m256i_result[3]) = 0xff88ff88ff880000;
+ *((unsigned long *)&__m256i_result[2]) = 0xff88ff88ff880000;
+ *((unsigned long *)&__m256i_result[1]) = 0xff88ff88ff880000;
+ *((unsigned long *)&__m256i_result[0]) = 0xff88ff88ff880000;
+ __m256i_out = __lasx_xvshuf_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000010000ffe1;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000101001e18;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000010000ffe1;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000101001e18;
+ *((unsigned long *)&__m256i_op1[3]) = 0x98111cca98111cca;
+ *((unsigned long *)&__m256i_op1[2]) = 0x98111cca98111cca;
+ *((unsigned long *)&__m256i_op1[1]) = 0x98111cca98111cca;
+ *((unsigned long *)&__m256i_op1[0]) = 0x98111cca98111cca;
+ *((unsigned long *)&__m256i_op2[3]) = 0x000000010000ffe1;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000101001e18;
+ *((unsigned long *)&__m256i_op2[1]) = 0x000000010000ffe1;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000101001e18;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000101001e18;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000101001e18;
+ __m256i_out = __lasx_xvshuf_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x80008000b3e8fef1;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x80008000802ea100;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op2[0]) = 0x00000000012e2110;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000200000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x012e2110012e2110;
+ __m256i_out = __lasx_xvshuf_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000082a54290;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000028aa700;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000082a54290;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000002a54287;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000002a542a;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000002a542a;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000007fc00000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000007fc00000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000007fc00000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000007fc00000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xdfffffffdfffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0xdfffffffdfffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
+ __m256i_out = __lasx_xvshuf_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001000104000200;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000104000200;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff0000ffff0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff0000ffff0000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0004000400040004;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0004000500040005;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0004000400040004;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0004000500040005;
+ *((unsigned long *)&__m256i_result[3]) = 0x0004000500040005;
+ *((unsigned long *)&__m256i_result[2]) = 0x0004000500040005;
+ *((unsigned long *)&__m256i_result[1]) = 0x0004000500040005;
+ *((unsigned long *)&__m256i_result[0]) = 0x0004000500040005;
+ __m256i_out = __lasx_xvshuf_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_op1[2]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_op1[1]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_op1[0]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000080008000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x000000007fff7fff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000080008000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x000000007fff7fff;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000007fff7fff;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000007fff7fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000007fff7fff;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000007fff7fff;
+ __m256i_out = __lasx_xvshuf_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvshuf_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000fffffe01fe52;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ff01ff02;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000fffffe01fe52;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ff01ff02;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000800000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000080008001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000800000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000080008001;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000080008001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000080008001;
+ __m256i_out = __lasx_xvshuf_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0008000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0008000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fff80007fff0000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fff80007fff0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x000000ff800000ff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x000000ff800000ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000ff800000ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000ff800000ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000ff800000ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000ff800000ff;
+ __m256i_out = __lasx_xvshuf_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000002000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000002000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000080040;
+ __m256i_out = __lasx_xvshuf_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffeb8649d0d6250;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffeb8649d0d6250;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_op2[3]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_op2[2]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_op2[1]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_op2[0]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvshuf_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}