LoongArch: Fix lsx-vshuf.c and lasx-xvshuf_b.c tests fail on LA664 [PR112611]

For [x]vshuf instructions, if the index value in the selector exceeds 63, it triggers
undefined behavior on LA464, but not on LA664. To ensure compatibility of these two
tests on both LA464 and LA664, we have modified both tests to ensure that the index
value in the selector does not exceed 63.

gcc/testsuite/ChangeLog:

	PR target/112611
	* gcc.target/loongarch/vector/lasx/lasx-xvshuf_b.c: Sure index less than 64.
	* gcc.target/loongarch/vector/lsx/lsx-vshuf.c: Ditto.
This commit is contained in:
Jiahao Xu 2023-11-29 11:16:59 +08:00 committed by Lulu Cheng
parent 22362d0f77
commit 40366b89e9
2 changed files with 165 additions and 342 deletions

View file

@ -43,9 +43,9 @@ main ()
*((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[2]) = 0x3f3f3f383f3f3f38;
*((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op2[0]) = 0xfffffff8fc000000;
*((unsigned long *)&__m256i_op2[0]) = 0x3f3f3f383c000000;
*((unsigned long *)&__m256i_result[3]) = 0xfafafafafafafafa;
*((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
*((unsigned long *)&__m256i_result[1]) = 0xfefefefefefefefe;
@ -137,33 +137,14 @@ main ()
*((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_op2[3]) = 0x0000111111111111;
*((unsigned long *)&__m256i_op2[2]) = 0x0000222200002222;
*((unsigned long *)&__m256i_op2[1]) = 0x0000111111111111;
*((unsigned long *)&__m256i_op2[0]) = 0x0000222200002222;
*((unsigned long *)&__m256i_result[3]) = 0xffff000000000000;
*((unsigned long *)&__m256i_result[2]) = 0xffff0000ffff0000;
*((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
*((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;
*((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
__m256i_out = __lasx_xvshuf_b (__m256i_op0, __m256i_op1, __m256i_op2);
ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
@ -176,7 +157,7 @@ main ()
*((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[2]) = 0x0000000000032f1f;
*((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
*((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
@ -186,9 +167,9 @@ main ()
__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[3]) = 0x0011001100110011;
*((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
*((unsigned long *)&__m256i_op0[1]) = 0x0011001100110011;
*((unsigned long *)&__m256i_op0[0]) = 0x0000000000000101;
*((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
*((unsigned long *)&__m256i_op1[2]) = 0x67eee33567eee435;
@ -198,35 +179,16 @@ main ()
*((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[3]) = 0xffffffffffffffff;
*((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
*((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
*((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
*((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[3]) = 0x0022002200000000;
*((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
*((unsigned long *)&__m256i_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[1]) = 0x001f001f00000000;
*((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
*((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
@ -243,10 +205,10 @@ main ()
__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_op0[3]) = 0x0011001100110011;
*((unsigned long *)&__m256i_op0[2]) = 0x0011001100110011;
*((unsigned long *)&__m256i_op0[1]) = 0x0011001100110011;
*((unsigned long *)&__m256i_op0[0]) = 0x0011001100110011;
*((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
*((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
*((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
@ -255,17 +217,17 @@ main ()
*((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;
*((unsigned long *)&__m256i_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_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_op0[3]) = 0x003f003f003f003f;
*((unsigned long *)&__m256i_op0[2]) = 0x003f003f003f003f;
*((unsigned long *)&__m256i_op0[1]) = 0x003f003f003f003f;
*((unsigned long *)&__m256i_op0[0]) = 0x003f003f003f003f;
*((unsigned long *)&__m256i_op1[3]) = 0xefdfefdf00000000;
*((unsigned long *)&__m256i_op1[2]) = 0xefdfefdfefdfefdf;
*((unsigned long *)&__m256i_op1[1]) = 0xefdfefdf00000000;
@ -274,36 +236,17 @@ main ()
*((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;
*((unsigned long *)&__m256i_result[3]) = 0xefdfefdfefdfefdf;
*((unsigned long *)&__m256i_result[2]) = 0xefdfefdfefdfefdf;
*((unsigned long *)&__m256i_result[1]) = 0xefdfefdfefdfefdf;
*((unsigned long *)&__m256i_result[0]) = 0xefdfefdfefdfefdf;
__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_op0[3]) = 0x0035000000350005;
*((unsigned long *)&__m256i_op0[2]) = 0x0035000000350015;
*((unsigned long *)&__m256i_op0[1]) = 0x0035000000350025;
*((unsigned long *)&__m256i_op0[0]) = 0x0035000000350035;
*((unsigned long *)&__m256i_op1[3]) = 0x0000000000000003;
*((unsigned long *)&__m256i_op1[2]) = 0x0000000000010001;
*((unsigned long *)&__m256i_op1[1]) = 0x0000000000000003;
@ -312,10 +255,10 @@ main ()
*((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;
*((unsigned long *)&__m256i_result[3]) = 0x7575757575757575;
*((unsigned long *)&__m256i_result[2]) = 0x7575757575757575;
*((unsigned long *)&__m256i_result[1]) = 0x7575757575757575;
*((unsigned long *)&__m256i_result[0]) = 0x7575757575757575;
__m256i_out = __lasx_xvshuf_h (__m256i_op0, __m256i_op1, __m256i_op2);
ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
@ -357,29 +300,10 @@ main ()
__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_op0[3]) = 0x000000000000003e;
*((unsigned long *)&__m256i_op0[2]) = 0x0000000000000010;
*((unsigned long *)&__m256i_op0[1]) = 0x000000000000003e;
*((unsigned long *)&__m256i_op0[0]) = 0x0000000000000010;
*((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
@ -389,16 +313,16 @@ main ()
*((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[2]) = 0xff88ff88ff88ff88;
*((unsigned long *)&__m256i_result[1]) = 0xff88ff88ff880000;
*((unsigned long *)&__m256i_result[0]) = 0xff88ff88ff880000;
*((unsigned long *)&__m256i_result[0]) = 0xff88ff88ff88ff88;
__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_op0[3]) = 0x0000000100000011;
*((unsigned long *)&__m256i_op0[2]) = 0x0000000100000018;
*((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
*((unsigned long *)&__m256i_op0[0]) = 0x0000000100000008;
*((unsigned long *)&__m256i_op1[3]) = 0x98111cca98111cca;
*((unsigned long *)&__m256i_op1[2]) = 0x98111cca98111cca;
*((unsigned long *)&__m256i_op1[1]) = 0x98111cca98111cca;
@ -407,17 +331,17 @@ main ()
*((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[3]) = 0x0000000100000001;
*((unsigned long *)&__m256i_result[2]) = 0x0000000101001e18;
*((unsigned long *)&__m256i_result[1]) = 0x0000000100000000;
*((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
*((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_op0[3]) = 0x000000010000001a;
*((unsigned long *)&__m256i_op0[2]) = 0x0000001100000001;
*((unsigned long *)&__m256i_op0[1]) = 0x0000002100000010;
*((unsigned long *)&__m256i_op0[0]) = 0x000000310000001f;
*((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
@ -426,17 +350,17 @@ main ()
*((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[3]) = 0x0000000000000001;
*((unsigned long *)&__m256i_result[2]) = 0x0000000200000000;
*((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
*((unsigned long *)&__m256i_result[0]) = 0x012e2110012e2110;
*((unsigned long *)&__m256i_result[1]) = 0x00000000012e2110;
*((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]) = 0x0000000082a54290;
*((unsigned long *)&__m256i_op0[2]) = 0x00000000028aa700;
*((unsigned long *)&__m256i_op0[1]) = 0x0000000082a54290;
*((unsigned long *)&__m256i_op0[0]) = 0x0000000002a54287;
*((unsigned long *)&__m256i_op0[3]) = 0x0000002f00000000;
*((unsigned long *)&__m256i_op0[2]) = 0x0000001a00000000;
*((unsigned long *)&__m256i_op0[1]) = 0x000000010000001c;
*((unsigned long *)&__m256i_op0[0]) = 0x0000000e0000000c;
*((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op1[2]) = 0x00000000002a542a;
*((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
@ -447,8 +371,8 @@ main ()
*((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;
*((unsigned long *)&__m256i_result[1]) = 0x00000000002a542a;
*((unsigned long *)&__m256i_result[0]) = 0x00000000002a542a;
__m256i_out = __lasx_xvshuf_w (__m256i_op0, __m256i_op1, __m256i_op2);
ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
@ -471,10 +395,10 @@ main ()
__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_op0[3]) = 0x0000000100000031;
*((unsigned long *)&__m256i_op0[2]) = 0x0000000100000031;
*((unsigned long *)&__m256i_op0[1]) = 0x0000000100000031;
*((unsigned long *)&__m256i_op0[0]) = 0x0000000100000031;
*((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
@ -490,10 +414,10 @@ main ()
__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_op0[3]) = 0x0000000200000001;
*((unsigned long *)&__m256i_op0[2]) = 0x0000000400000003;
*((unsigned long *)&__m256i_op0[1]) = 0x0000000600000005;
*((unsigned long *)&__m256i_op0[0]) = 0x0000000800000007;
*((unsigned long *)&__m256i_op1[3]) = 0x000000007fc00000;
*((unsigned long *)&__m256i_op1[2]) = 0x000000007fc00000;
*((unsigned long *)&__m256i_op1[1]) = 0x000000007fc00000;
@ -503,7 +427,7 @@ main ()
*((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[2]) = 0x7fc00000dfffffff;
*((unsigned long *)&__m256i_result[1]) = 0x8000000080000000;
*((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
__m256i_out = __lasx_xvshuf_w (__m256i_op0, __m256i_op1, __m256i_op2);
@ -529,9 +453,9 @@ main ()
ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
*((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op0[2]) = 0x0001000104000200;
*((unsigned long *)&__m256i_op0[2]) = 0x0000002000000030;
*((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op0[0]) = 0x0001000104000200;
*((unsigned long *)&__m256i_op0[0]) = 0x0000001000000000;
*((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
*((unsigned long *)&__m256i_op1[2]) = 0xffff0000ffff0000;
*((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
@ -585,10 +509,10 @@ main ()
__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_op0[3]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
*((unsigned long *)&__m256i_op0[1]) = 0x0000000000000002;
*((unsigned long *)&__m256i_op0[0]) = 0x0000000000000003;
*((unsigned long *)&__m256i_op1[3]) = 0x0000800000000000;
*((unsigned long *)&__m256i_op1[2]) = 0x0000000080008001;
*((unsigned long *)&__m256i_op1[1]) = 0x0000800000000000;
@ -597,17 +521,17 @@ main ()
*((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;
*((unsigned long *)&__m256i_result[3]) = 0x000000000000ffff;
*((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
*((unsigned long *)&__m256i_result[1]) = 0x0000000080008001;
*((unsigned long *)&__m256i_result[0]) = 0x0000800000000000;
__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_op0[2]) = 0x0000000000000011;
*((unsigned long *)&__m256i_op0[1]) = 0x0000000000000022;
*((unsigned long *)&__m256i_op0[0]) = 0x0000000000000033;
*((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
@ -623,63 +547,6 @@ main ()
__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;
@ -700,9 +567,9 @@ main ()
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_op0[2]) = 0x0000000000000010;
*((unsigned long *)&__m256i_op0[1]) = 0x0000000000000020;
*((unsigned long *)&__m256i_op0[0]) = 0x0000000000000030;
*((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
*((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
@ -718,10 +585,10 @@ main ()
__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_op0[3]) = 0x000000000000000a;
*((unsigned long *)&__m256i_op0[2]) = 0x000000000000001b;
*((unsigned long *)&__m256i_op0[1]) = 0x000000000000002c;
*((unsigned long *)&__m256i_op0[0]) = 0x000000000000003d;
*((unsigned long *)&__m256i_op1[3]) = 0xfffeb6839ffffd80;
*((unsigned long *)&__m256i_op1[2]) = 0xfffe97c020010001;
*((unsigned long *)&__m256i_op1[1]) = 0xfffeb6839ffffd80;
@ -730,17 +597,17 @@ main ()
*((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;
*((unsigned long *)&__m256i_result[3]) = 0xfffe97c020010001;
*((unsigned long *)&__m256i_result[2]) = 0xfffeb6839ffffd80;
*((unsigned long *)&__m256i_result[1]) = 0xfffe97c020010001;
*((unsigned long *)&__m256i_result[0]) = 0xfffeb6839ffffd80;
__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_op0[3]) = 0x000000000000001a;
*((unsigned long *)&__m256i_op0[2]) = 0x000000000000001b;
*((unsigned long *)&__m256i_op0[1]) = 0x0000000000000002;
*((unsigned long *)&__m256i_op0[0]) = 0x0000000000000007;
*((unsigned long *)&__m256i_op1[3]) = 0x0000000000010001;
*((unsigned long *)&__m256i_op1[2]) = 0x0000000000010001;
*((unsigned long *)&__m256i_op1[1]) = 0x0000000000010001;
@ -749,10 +616,10 @@ main ()
*((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;
*((unsigned long *)&__m256i_result[3]) = 0x0000000000010001;
*((unsigned long *)&__m256i_result[2]) = 0x0000000000010001;
*((unsigned long *)&__m256i_result[1]) = 0x0000000000010001;
*((unsigned long *)&__m256i_result[0]) = 0x0000000000010001;
__m256i_out = __lasx_xvshuf_d (__m256i_op0, __m256i_op1, __m256i_op2);
ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);

View file

@ -20,7 +20,7 @@ main ()
*((unsigned long *)&__m128i_op1[1]) = 0x0000000401000001;
*((unsigned long *)&__m128i_op1[0]) = 0x0001000100000004;
*((unsigned long *)&__m128i_op2[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[0]) = 0x00000000007f0000;
*((unsigned long *)&__m128i_op2[0]) = 0x00000000003f0000;
*((unsigned long *)&__m128i_result[1]) = 0x0404040404040404;
*((unsigned long *)&__m128i_result[0]) = 0x0404040404000404;
__m128i_out = __lsx_vshuf_b (__m128i_op0, __m128i_op1, __m128i_op2);
@ -31,7 +31,7 @@ main ()
*((unsigned long *)&__m128i_op1[1]) = 0xffffffffffffffff;
*((unsigned long *)&__m128i_op1[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[0]) = 0xffffffff00000000;
*((unsigned long *)&__m128i_op2[0]) = 0x3f2f1f0f00000000;
*((unsigned long *)&__m128i_result[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[0]) = 0x0000000000000000;
__m128i_out = __lsx_vshuf_b (__m128i_op0, __m128i_op1, __m128i_op2);
@ -63,10 +63,10 @@ main ()
*((unsigned long *)&__m128i_op0[0]) = 0xffffffffffffffff;
*((unsigned long *)&__m128i_op1[1]) = 0x52525252adadadad;
*((unsigned long *)&__m128i_op1[0]) = 0x52525252adadadad;
*((unsigned long *)&__m128i_op2[1]) = 0x800000007fffffff;
*((unsigned long *)&__m128i_op2[0]) = 0x800000007fffffff;
*((unsigned long *)&__m128i_result[1]) = 0x00adadad00000000;
*((unsigned long *)&__m128i_result[0]) = 0x00adadad00000000;
*((unsigned long *)&__m128i_op2[1]) = 0x2000000004030201;
*((unsigned long *)&__m128i_op2[0]) = 0x2000000014131211;
*((unsigned long *)&__m128i_result[1]) = 0xadadadad52adadad;
*((unsigned long *)&__m128i_result[0]) = 0xadadadadffffffff;
__m128i_out = __lsx_vshuf_b (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
@ -96,10 +96,10 @@ main ()
*((unsigned long *)&__m128i_op0[0]) = 0x0000000000000100;
*((unsigned long *)&__m128i_op1[1]) = 0x04040403fafafafc;
*((unsigned long *)&__m128i_op1[0]) = 0x000000000000ff80;
*((unsigned long *)&__m128i_op2[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[1]) = 0x8080808080808080;
*((unsigned long *)&__m128i_result[0]) = 0x8080808080808080;
*((unsigned long *)&__m128i_op2[1]) = 0x00101a1b1c1d1e1f;
*((unsigned long *)&__m128i_op2[0]) = 0x0807060504030201;
*((unsigned long *)&__m128i_result[1]) = 0x8000020202000000;
*((unsigned long *)&__m128i_result[0]) = 0xfc000000000000ff;
__m128i_out = __lsx_vshuf_b (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
@ -118,10 +118,10 @@ main ()
*((unsigned long *)&__m128i_op0[0]) = 0xffd7ff8dffa4ff7a;
*((unsigned long *)&__m128i_op1[1]) = 0x34947b4b11684f92;
*((unsigned long *)&__m128i_op1[0]) = 0xee297a731e5c5f86;
*((unsigned long *)&__m128i_op2[1]) = 0x7fffffffffffffff;
*((unsigned long *)&__m128i_op2[0]) = 0xffc0000000000000;
*((unsigned long *)&__m128i_result[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[0]) = 0x0000868686868686;
*((unsigned long *)&__m128i_op2[1]) = 0x1f0710301a2b332d;
*((unsigned long *)&__m128i_op2[0]) = 0x1f20000000000000;
*((unsigned long *)&__m128i_result[1]) = 0xffee7a7a9811ff7b;
*((unsigned long *)&__m128i_result[0]) = 0xff86868686868686;
__m128i_out = __lsx_vshuf_b (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
@ -136,19 +136,19 @@ main ()
__m128i_out = __lsx_vshuf_h (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0xffffffffffffffff;
*((unsigned long *)&__m128i_op0[0]) = 0xffffffffffffffff;
*((unsigned long *)&__m128i_op0[1]) = 0x001f002f003f000f;
*((unsigned long *)&__m128i_op0[0]) = 0x001f002f003f000f;
*((unsigned long *)&__m128i_op1[1]) = 0x7fffffffffffffff;
*((unsigned long *)&__m128i_op1[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[1]) = 0x7fff7fff7fff7fff;
*((unsigned long *)&__m128i_result[0]) = 0x7fff7fff7fff7fff;
__m128i_out = __lsx_vshuf_h (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op0[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op0[1]) = 0x000100040010001f;
*((unsigned long *)&__m128i_op0[0]) = 0x0002000300110012;
*((unsigned long *)&__m128i_op1[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[0]) = 0x000000002bfd9461;
*((unsigned long *)&__m128i_op2[1]) = 0x00007fff00007fff;
@ -169,74 +169,41 @@ main ()
__m128i_out = __lsx_vshuf_h (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op0[0]) = 0xffffffffffffffff;
*((unsigned long *)&__m128i_op1[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[0]) = 0x0000000000000000;
__m128i_out = __lsx_vshuf_h (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0x000300037ff000ff;
*((unsigned long *)&__m128i_op0[0]) = 0x0003000300a10003;
*((unsigned long *)&__m128i_op0[1]) = 0x000300030000001f;
*((unsigned long *)&__m128i_op0[0]) = 0x0003000300000003;
*((unsigned long *)&__m128i_op1[1]) = 0x000300037ff000ff;
*((unsigned long *)&__m128i_op1[0]) = 0x0003000300a10003;
*((unsigned long *)&__m128i_op2[1]) = 0x000000007ff000ff;
*((unsigned long *)&__m128i_op2[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[1]) = 0x0000000000000003;
*((unsigned long *)&__m128i_result[0]) = 0x0000000000000000;
__m128i_out = __lsx_vshuf_h (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0x0909000009090000;
*((unsigned long *)&__m128i_op0[0]) = 0x0909000009090000;
*((unsigned long *)&__m128i_op0[1]) = 0x0019000000090000;
*((unsigned long *)&__m128i_op0[0]) = 0x0019000000090000;
*((unsigned long *)&__m128i_op1[1]) = 0x0909000009090000;
*((unsigned long *)&__m128i_op1[0]) = 0x0909000009090000;
*((unsigned long *)&__m128i_op2[1]) = 0x002a05a2f059094a;
*((unsigned long *)&__m128i_op2[0]) = 0x05ad3ba576eae048;
*((unsigned long *)&__m128i_result[1]) = 0x0909e0480909e048;
*((unsigned long *)&__m128i_result[0]) = 0x0909e0480909e048;
*((unsigned long *)&__m128i_result[1]) = 0x909e0480909e048;
*((unsigned long *)&__m128i_result[0]) = 0x909e0480909e048;
__m128i_out = __lsx_vshuf_h (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op0[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[0]) = 0x0000000000000000;
__m128i_out = __lsx_vshuf_h (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0x00000000000000c0;
*((unsigned long *)&__m128i_op0[0]) = 0x00000001ffffff29;
*((unsigned long *)&__m128i_op0[1]) = 0x0000000000000030;
*((unsigned long *)&__m128i_op0[0]) = 0x0000000000000029;
*((unsigned long *)&__m128i_op1[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[1]) = 0x00000000000000c0;
*((unsigned long *)&__m128i_op2[0]) = 0x00000001ffffff29;
*((unsigned long *)&__m128i_result[1]) = 0xffffff2900000000;
*((unsigned long *)&__m128i_result[1]) = 0xffffff29ffffff29;
*((unsigned long *)&__m128i_result[0]) = 0x0000000100000001;
__m128i_out = __lsx_vshuf_w (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op0[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[0]) = 0x0000000000000000;
__m128i_out = __lsx_vshuf_w (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op0[0]) = 0x00000000000000ff;
*((unsigned long *)&__m128i_op0[0]) = 0x000000000000001f;
*((unsigned long *)&__m128i_op1[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[0]) = 0x1f54e0ab00000000;
*((unsigned long *)&__m128i_op2[1]) = 0x0101010101010101;
@ -246,19 +213,8 @@ main ()
__m128i_out = __lsx_vshuf_w (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op0[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[0]) = 0x0000000000000000;
__m128i_out = __lsx_vshuf_w (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0x0000000000007fff;
*((unsigned long *)&__m128i_op0[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op0[1]) = 0x0000002f0000002f;
*((unsigned long *)&__m128i_op0[0]) = 0x0000001000000000;
*((unsigned long *)&__m128i_op1[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[1]) = 0x0000000020000020;
@ -279,30 +235,30 @@ main ()
__m128i_out = __lsx_vshuf_w (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op0[0]) = 0x0000000004870ba0;
*((unsigned long *)&__m128i_op0[1]) = 0x0000000900000010;
*((unsigned long *)&__m128i_op0[0]) = 0x0000002000000003;
*((unsigned long *)&__m128i_op1[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[0]) = 0x0000001000000010;
*((unsigned long *)&__m128i_op2[1]) = 0x8000000100000000;
*((unsigned long *)&__m128i_op2[0]) = 0x8000000000000103;
*((unsigned long *)&__m128i_result[1]) = 0x0000010300000103;
*((unsigned long *)&__m128i_result[0]) = 0x0000010300000000;
*((unsigned long *)&__m128i_result[0]) = 0x0000010380000001;
__m128i_out = __lsx_vshuf_w (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0x000000ff0000857a;
*((unsigned long *)&__m128i_op0[0]) = 0x05fafe0101fe000e;
*((unsigned long *)&__m128i_op0[1]) = 0x0000001000000007;
*((unsigned long *)&__m128i_op0[0]) = 0x0000002000000001;
*((unsigned long *)&__m128i_op1[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[1]) = 0xffffffffffffffff;
*((unsigned long *)&__m128i_op2[0]) = 0xffffffffffffffff;
*((unsigned long *)&__m128i_result[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[0]) = 0xffffffff00000000;
*((unsigned long *)&__m128i_result[0]) = 0xffffffffffffffff;
__m128i_out = __lsx_vshuf_w (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0xada4808924882588;
*((unsigned long *)&__m128i_op0[0]) = 0xacad25090caca5a4;
*((unsigned long *)&__m128i_op0[1]) = 0x0000001a0000001b;
*((unsigned long *)&__m128i_op0[0]) = 0x0000000a0000000b;
*((unsigned long *)&__m128i_op1[1]) = 0x021b7d24c9678a35;
*((unsigned long *)&__m128i_op1[0]) = 0x030298a6a1030a49;
*((unsigned long *)&__m128i_op2[1]) = 0x0000000000000000;
@ -312,8 +268,8 @@ main ()
__m128i_out = __lsx_vshuf_w (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0x00000000ffffffff;
*((unsigned long *)&__m128i_op0[0]) = 0xffffffffffffffff;
*((unsigned long *)&__m128i_op0[1]) = 0x0000000000000003;
*((unsigned long *)&__m128i_op0[0]) = 0x0000000000000013;
*((unsigned long *)&__m128i_op1[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[1]) = 0x0000000000000000;
@ -323,14 +279,14 @@ main ()
__m128i_out = __lsx_vshuf_d (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0xdfa6e0c6d46cdc13;
*((unsigned long *)&__m128i_op0[0]) = 0x21fc7081ec69b5f2;
*((unsigned long *)&__m128i_op0[1]) = 0x0000000000000001;
*((unsigned long *)&__m128i_op0[0]) = 0x0000000000000011;
*((unsigned long *)&__m128i_op1[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[0]) = 0x000000002c002400;
*((unsigned long *)&__m128i_op2[1]) = 0xffffb96bffff57c9;
*((unsigned long *)&__m128i_op2[0]) = 0xffff6080ffff4417;
*((unsigned long *)&__m128i_result[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[1]) = 0xffffb96bffff57c9;
*((unsigned long *)&__m128i_result[0]) = 0xffffb96bffff57c9;
__m128i_out = __lsx_vshuf_d (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
@ -345,8 +301,8 @@ main ()
__m128i_out = __lsx_vshuf_d (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op0[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op0[1]) = 0x0000000000000020;
*((unsigned long *)&__m128i_op0[0]) = 0x0000000000000010;
*((unsigned long *)&__m128i_op1[1]) = 0x0000000000002000;
*((unsigned long *)&__m128i_op1[0]) = 0xf0003000f0003000;
*((unsigned long *)&__m128i_op2[1]) = 0x0000000000000000;
@ -356,30 +312,30 @@ main ()
__m128i_out = __lsx_vshuf_d (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0x021b7d2449678a35;
*((unsigned long *)&__m128i_op0[0]) = 0x030298a621030a49;
*((unsigned long *)&__m128i_op0[1]) = 0x0000000000000007;
*((unsigned long *)&__m128i_op0[0]) = 0x000000000000001a;
*((unsigned long *)&__m128i_op1[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[0]) = 0x7fff7fff7fff7fff;
*((unsigned long *)&__m128i_op2[1]) = 0x021b7d24c9678a35;
*((unsigned long *)&__m128i_op2[0]) = 0x030298a6a1030a49;
*((unsigned long *)&__m128i_result[1]) = 0x021b7d24c9678a35;
*((unsigned long *)&__m128i_result[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[0]) = 0x7fff7fff7fff7fff;
__m128i_out = __lsx_vshuf_d (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0x7f7f00007f7f0000;
*((unsigned long *)&__m128i_op0[0]) = 0x7f7f80807f7f8080;
*((unsigned long *)&__m128i_op0[1]) = 0x0000000000000002;
*((unsigned long *)&__m128i_op0[0]) = 0x0000000000000001;
*((unsigned long *)&__m128i_op1[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[0]) = 0x0000fffe0000fffe;
*((unsigned long *)&__m128i_op2[1]) = 0x7f8000007f800000;
*((unsigned long *)&__m128i_op2[0]) = 0x7f8000007f800000;
*((unsigned long *)&__m128i_result[1]) = 0x7f8000007f800000;
*((unsigned long *)&__m128i_result[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_result[1]) = 0x0000fffe0000fffe;
*((unsigned long *)&__m128i_result[0]) = 0x7f8000007f800000;
__m128i_out = __lsx_vshuf_d (__m128i_op0, __m128i_op1, __m128i_op2);
ASSERTEQ_64 (__LINE__, __m128i_result, __m128i_out);
*((unsigned long *)&__m128i_op0[1]) = 0xffffffffffffffff;
*((unsigned long *)&__m128i_op0[0]) = 0xfffffffffff10000;
*((unsigned long *)&__m128i_op0[1]) = 0x0000000000000010;
*((unsigned long *)&__m128i_op0[0]) = 0x0000000000000020;
*((unsigned long *)&__m128i_op1[1]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op1[0]) = 0x0000000000000000;
*((unsigned long *)&__m128i_op2[1]) = 0x0000000000000000;