blob: 6fd3197111e878ff22f1d71797e03ad54a832392 [file] [edit]
#include "lasx_test_util.h"
#include <lasxintrin.h>
int
main ()
{
__m256i __m256i_out, __m256i_result;
__m256 __m256_out, __m256_result;
__m256d __m256d_out, __m256d_result;
v4u64 v4u64_op0, v4u64_op1, v4u64_op2;
v8i32 v8i32_op0, v8i32_op1, v8i32_op2;
int int_op0, int_op1, i = 1, fail;
long int long_op0, long_op1;
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;
v4u64_op0 = (v4u64){0x49d8080067f4f81f, 0x0000000000000000,
0x00007ffffffff7ff, 0x0000000000000000};
__m256i_result = (__m256i){0xd8490849f467f867, 0x0000000000000000,
0x00007f00fffff7ff, 0x0000000000000000};
__m256i_out = __lasx_xvshuf4i_b((__m256)v4u64_op0, 0xb7);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvshuf4i_b((__m256)v4u64_op0, 0xdb);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvshuf4i_b((__m256)v4u64_op0, 0x95);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xfffffff5ffff4738, 0x00000000ffffb3b4,
0xfffffff5ffff4738, 0x00000000ffffb3b4};
__m256i_result = (__m256i){0xffffffffffffffff, 0x00000000ffffffff,
0xffffffffffffffff, 0x00000000ffffffff};
__m256i_out = __lasx_xvshuf4i_b((__m256)v4u64_op0, 0xee);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvshuf4i_b((__m256)v4u64_op0, 0x2f);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvshuf4i_b((__m256)v4u64_op0, 0x6f);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvshuf4i_b((__m256)v4u64_op0, 0x23);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x49d8080067f4f81f, 0x0000000000000000,
0x00007ffffffff7ff, 0x0000000000000000};
__m256i_result = (__m256i){0x080008000800f81f, 0x0000000000000000,
0x7fff7fff7ffff7ff, 0x0000000000000000};
__m256i_out = __lasx_xvshuf4i_h((__m256)v4u64_op0, 0xa8);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x45c5c5c545c5c5c5, 0xc5c5c5c4c5c5c5c4,
0x45c5c5c545c5c5c5, 0xc5c5c5c4c5c5c5c4};
__m256i_result = (__m256i){0xc5c545c545c545c5, 0xc5c4c5c5c5c5c5c5,
0xc5c545c545c545c5, 0xc5c4c5c5c5c5c5c5};
__m256i_out = __lasx_xvshuf4i_h((__m256)v4u64_op0, 0x3d);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff,
0xffffffffffffffff, 0xffffffffffffffff};
__m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff,
0xffffffffffffffff, 0xffffffffffffffff};
__m256i_out = __lasx_xvshuf4i_h((__m256)v4u64_op0, 0xf7);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvshuf4i_h((__m256)v4u64_op0, 0x3a);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x00000000ffffffff, 0x00000000ffffffff,
0x00000000ffffffff, 0x00000000ffffffff};
__m256i_result = (__m256i){0x00000000ffff0000, 0x00000000ffff0000,
0x00000000ffff0000, 0x00000000ffff0000};
__m256i_out = __lasx_xvshuf4i_h((__m256)v4u64_op0, 0xa7);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xff1cff1cff1cff1c, 0xff1cff1cff1cff1c,
0xff1cff1cff1cff1c, 0xff1cff1cff1cff1c};
__m256i_result = (__m256i){0xff1cff1cff1cff1c, 0xff1cff1cff1cff1c,
0xff1cff1cff1cff1c, 0xff1cff1cff1cff1c};
__m256i_out = __lasx_xvshuf4i_h((__m256)v4u64_op0, 0xdc);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xffff8001ffff0001, 0x00000000ffff0020,
0xffff8001ffff0001, 0x00000000ffff0020};
__m256i_result = (__m256i){0xffff8001ffff8001, 0xffff000000000000,
0xffff8001ffff8001, 0xffff000000000000};
__m256i_out = __lasx_xvshuf4i_h((__m256)v4u64_op0, 0x6e);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff,
0xffffffffffffffff, 0xffffffffffffffff};
__m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff,
0xffffffffffffffff, 0xffffffffffffffff};
__m256i_out = __lasx_xvshuf4i_h((__m256)v4u64_op0, 0x9f);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x04f104f104f504ed, 0x0000ffff0002fffd,
0x04f104f104f504ed, 0x0000ffff0002fffd};
__m256i_result = (__m256i){0x04f504f104f504f5, 0x0002ffff00020002,
0x04f504f104f504f5, 0x0002ffff00020002};
__m256i_out = __lasx_xvshuf4i_h((__m256)v4u64_op0, 0x65);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x1e18000000000000, 0x1e18000000000000,
0x1e18000000000000, 0x1e18000000000000};
__m256i_result = (__m256i){0x1e18000000000000, 0x1e1800001e180000,
0x1e18000000000000, 0x1e1800001e180000};
__m256i_out = __lasx_xvshuf4i_w((__m256)v4u64_op0, 0xfe);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvshuf4i_w((__m256)v4u64_op0, 0x64);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x45c5c5c545c5c5c5, 0xc5c5c5c4c5c5c5c4,
0x45c5c5c545c5c5c5, 0xc5c5c5c4c5c5c5c4};
__m256i_result = (__m256i){0x45c5c5c545c5c5c5, 0xc5c5c5c4c5c5c5c4,
0x45c5c5c545c5c5c5, 0xc5c5c5c4c5c5c5c4};
__m256i_out = __lasx_xvshuf4i_w((__m256)v4u64_op0, 0xb0);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x79f9f9f900f9f900, 0x0000000000f9f900,
0x79f9f9f900f9f9e0, 0x0000000000f9f900};
__m256i_result = (__m256i){0x79f9f9f900000000, 0x00f9f90079f9f9f9,
0x79f9f9f900000000, 0x00f9f90079f9f9f9};
__m256i_out = __lasx_xvshuf4i_w((__m256)v4u64_op0, 0x97);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xfffffffffd017d00, 0x000000007aff7c00,
0xfffffffffd017d00, 0x000000007aff7c00};
__m256i_result = (__m256i){0xfd017d0000000000, 0x7aff7c0000000000,
0xfd017d0000000000, 0x7aff7c0000000000};
__m256i_out = __lasx_xvshuf4i_w((__m256)v4u64_op0, 0xb3);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xc3f0c3f0c3f0c3f0, 0xc3f0c3f0c3f0c3f0,
0xc3f0c3f0c3f0c3f0, 0xc3f0c3f0c3f0c3f0};
__m256i_result = (__m256i){0xc3f0c3f0c3f0c3f0, 0xc3f0c3f0c3f0c3f0,
0xc3f0c3f0c3f0c3f0, 0xc3f0c3f0c3f0c3f0};
__m256i_out = __lasx_xvshuf4i_w((__m256)v4u64_op0, 0x3c);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff,
0xffffffffffffffff, 0xffffffffffffffff};
__m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff,
0xffffffffffffffff, 0xffffffffffffffff};
__m256i_out = __lasx_xvshuf4i_w((__m256)v4u64_op0, 0xf4);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xffffffffff81ff7d, 0xffffffffffffffff,
0xffffffffff81ff7d, 0xffffffffffffffff};
__m256i_result = (__m256i){0xffffffffff81ff7d, 0xff81ff7dffffffff,
0xffffffffff81ff7d, 0xff81ff7dffffffff};
__m256i_out = __lasx_xvshuf4i_w((__m256)v4u64_op0, 0x28);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x00000020ff790020, 0x0000002000000000,
0x00000020ff790020, 0x0000002000000000};
__m256i_result = (__m256i){0x0000002000000020, 0x0000000000000000,
0x0000002000000020, 0x0000000000000000};
__m256i_out = __lasx_xvshuf4i_w((__m256)v4u64_op0, 0xa5);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff,
0xffffffffffffffff, 0xffffffffffffffff};
v4u64_op1 = (v4u64){0x0101010101010101, 0x01010101d58efe94,
0x0101010101010101, 0x0101010183f95466};
__m256i_result = (__m256i){0x01010101d58efe94, 0xffffffffffffffff,
0x0101010183f95466, 0xffffffffffffffff};
__m256i_out = __lasx_xvshuf4i_d((__m256)v4u64_op0, (__m256)v4u64_op1, 0xa7);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvshuf4i_d((__m256)v4u64_op0, (__m256)v4u64_op1, 0xd9);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x00001fff00001fff, 0x00001fff00001fff,
0x00001fff00001fff, 0x00001fff00001fff};
v4u64_op1 = (v4u64){0x0000ffff0000ffff, 0x0000ffff0000ffff,
0x0000ffff0000ffff, 0x0000ffff0000ffff};
__m256i_result = (__m256i){0x00001fff00001fff, 0x00001fff00001fff,
0x00001fff00001fff, 0x00001fff00001fff};
__m256i_out = __lasx_xvshuf4i_d((__m256)v4u64_op0, (__m256)v4u64_op1, 0x5);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x00000000000f1002, 0xffffffff80be0000,
0x000000000f0f0002, 0xffffffff80be0000};
v4u64_op1 = (v4u64){0x8000000080000000, 0x80000000ff800000,
0x8000000080000000, 0x80000000ff800000};
__m256i_result = (__m256i){0x80000000ff800000, 0x8000000080000000,
0x80000000ff800000, 0x8000000080000000};
__m256i_out = __lasx_xvshuf4i_d((__m256)v4u64_op0, (__m256)v4u64_op1, 0xdb);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
v4u64_op1 = (v4u64){0x43ef878780000009, 0x0000000080000009,
0x43ef878780000009, 0x0000000080000009};
__m256i_result = (__m256i){0x43ef878780000009, 0x0000000000000000,
0x43ef878780000009, 0x0000000000000000};
__m256i_out = __lasx_xvshuf4i_d((__m256)v4u64_op0, (__m256)v4u64_op1, 0x36);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
v4u64_op1 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff,
0x0000000000000000, 0xffffffffffffffff};
__m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvshuf4i_d((__m256)v4u64_op0, (__m256)v4u64_op1, 0x5a);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
v4u64_op1 = (v4u64){0x0000000000000000, 0xffffffffffffffff,
0x0000000000000000, 0xffffffffffffffff};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvshuf4i_d((__m256)v4u64_op0, (__m256)v4u64_op1, 0x5);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvshuf4i_d((__m256)v4u64_op0, (__m256)v4u64_op1, 0xd);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x7fff00017fff0000, 0x7fff00017fff0000,
0x7fff00017fff0000, 0x7fff00017fff0000};
v4u64_op1 = (v4u64){0x04f104f104f504ed, 0x0000ffff0002fffd,
0x04f104f104f504ed, 0x0000ffff0002fffd};
__m256i_result = (__m256i){0x04f104f104f504ed, 0x0000ffff0002fffd,
0x04f104f104f504ed, 0x0000ffff0002fffd};
__m256i_out = __lasx_xvshuf4i_d((__m256)v4u64_op0, (__m256)v4u64_op1, 0x7e);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
return 0;
}