blob: 790392c40b3460fa5d6ef86396e074300f408652 [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){0x0000000000000000, 0x000000007fffffff,
0x0000000000000000, 0x000000007fffffff};
v4u64_op1 = (v4u64){0x0000000000000000, 0x000000007fffffff,
0x0000000000000000, 0x000000007fffffff};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000001020202,
0x0000000000000000, 0x0000000001020202};
__m256i_out = __lasx_xvsrlr_b((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x7c00000880008000, 0x00000000ffffffff,
0x7c00000880008000, 0x00000000ffffffff};
v4u64_op1 = (v4u64){0xffffffffffffffff, 0x0000000000000000,
0xffffffffffffffff, 0x0000000000000000};
__m256i_result = (__m256i){0x0100000001000100, 0x00000000ffffffff,
0x0100000001000100, 0x00000000ffffffff};
__m256i_out = __lasx_xvsrlr_b((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000001, 0x0000000000000001,
0x0000000000000001, 0x0000000000000001};
v4u64_op1 = (v4u64){0x7fff7fff7fff7fff, 0x0000038000000268,
0x7fff7fff7fff7fff, 0x0000038000000268};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000001,
0x0000000000000000, 0x0000000000000001};
__m256i_out = __lasx_xvsrlr_b((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x000000000000ff01, 0x0000ff0100ff0000,
0x000000000000ff01, 0x0000ff0100ff0000};
v4u64_op1 = (v4u64){0xffffffffff010ff0, 0x0000000000000000,
0xffffffffff010ff0, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000201, 0x0000ff0100ff0000,
0x0000000000000201, 0x0000ff0100ff0000};
__m256i_out = __lasx_xvsrlr_b((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
v4u64_op1 = (v4u64){0x000800400010006d, 0x0000000000000000,
0x000800400010006d, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrlr_b((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
v4u64_op1 = (v4u64){0x0001000100010001, 0x0001000100010001,
0x0001000100010001, 0x0001000100010001};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrlr_b((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xffffffffffc00040, 0x0000000000000000,
0xffffffffffc00040, 0x0000000000000000};
v4u64_op1 = (v4u64){0x04f104f104f504ed, 0x0000ffff0002fffd,
0x04f104f104f504ed, 0x0000ffff0002fffd};
__m256i_result = (__m256i){0x1080108010060002, 0x0000000000000000,
0x1080108010060002, 0x0000000000000000};
__m256i_out = __lasx_xvsrlr_b((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x40d74f979f99419f, 0x00000000ffff0000,
0xffffffffffffffff, 0xffffffffffffffff};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x40d74f979f99419f, 0x00000000ffff0000,
0xffffffffffffffff, 0xffffffffffffffff};
__m256i_out = __lasx_xvsrlr_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x7ff0000000000000, 0x7ff0000000000000,
0x7ff0000000000000, 0x7ff0000000000000};
v4u64_op1 = (v4u64){0x0000ffff00000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x7ff0000000000000, 0x7ff0000000000000,
0x7ff0000000000000, 0x7ff0000000000000};
__m256i_out = __lasx_xvsrlr_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x007f007f0081007f, 0x009f00f8007e00f0,
0x007f007f0081007f, 0x009f00f8007e00f0};
v4u64_op1 = (v4u64){0x0e459089665f40f3, 0x1189ce8000fa14ed,
0x00a21ef3246995f3, 0x0ea85f60984a8555};
__m256i_result = (__m256i){0x0004000000000010, 0x000000f800000000,
0x0020001000000010, 0x000100f800000008};
__m256i_out = __lasx_xvsrlr_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x00003fc00000428a, 0xffffc040ffffc09d,
0x00003fc00000428a, 0xffffc040ffffc09d};
v4u64_op1 = (v4u64){0xffffffffffffffff, 0x0000000000000000,
0xffffffffffffffff, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000001, 0xffffc040ffffc09d,
0x0000000000000001, 0xffffc040ffffc09d};
__m256i_out = __lasx_xvsrlr_h((__m256)v4u64_op0, (__m256)v4u64_op1);
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_xvsrlr_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x007f7f7f7f7f7f7f, 0x7f7f000000000000,
0x007f7f7f7f7f7f7f, 0x7f7f000000000000};
v4u64_op1 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff,
0xffffffffffffffff, 0xffffffffffffffff};
__m256i_result = (__m256i){0x0000000100010001, 0x0001000000000000,
0x0000000100010001, 0x0001000000000000};
__m256i_out = __lasx_xvsrlr_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x000000000000ffff, 0x000000000000ffff,
0x000000000000ffff, 0x000000000000ffff};
v4u64_op1 = (v4u64){0x8000000080000000, 0x80000000ff800000,
0x8000000080000000, 0x80000000ff800000};
__m256i_result = (__m256i){0x000000000000ffff, 0x000000000000ffff,
0x000000000000ffff, 0x000000000000ffff};
__m256i_out = __lasx_xvsrlr_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000064, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000064, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrlr_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000200000008, 0x0000000000000000,
0x0000000200000008, 0x0000000000000000};
v4u64_op1 = (v4u64){0x0000000000000000, 0xffffffffffffffff,
0x0000000000000000, 0xffffffffffffffff};
__m256i_result = (__m256i){0x0000000200000008, 0x0000000000000000,
0x0000000200000008, 0x0000000000000000};
__m256i_out = __lasx_xvsrlr_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x000000430207f944, 0x0000000000000000,
0x000000430207f944, 0x0000000000000000};
v4u64_op1 = (v4u64){0x0000000000000000, 0x00000000ffffff80,
0x0000000000000000, 0x00000000ffffff80};
__m256i_result = (__m256i){0x000000430207f944, 0x0000000000000000,
0x000000430207f944, 0x0000000000000000};
__m256i_out = __lasx_xvsrlr_h((__m256)v4u64_op0, (__m256)v4u64_op1);
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_xvsrlr_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x00000000007f0000,
0x0000000000000000, 0x00000000007f0000};
v4u64_op1 = (v4u64){0x000000000010006d, 0x0000000000080040,
0x000000000010006d, 0x0000000000080040};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrlr_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xff1cff1cff1cff1c, 0xff1cff1cff1cff1c,
0xff1cff1cff1cff1c, 0xff1cff1cff1cff1c};
v4u64_op1 = (v4u64){0x0000000000000080, 0x0000000000000002,
0x0000000000000080, 0x0000000000000002};
__m256i_result = (__m256i){0xff1cff1cff1cff1c, 0xff1cff1cff1c3fc7,
0xff1cff1cff1cff1c, 0xff1cff1cff1c3fc7};
__m256i_out = __lasx_xvsrlr_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xfff8080000000000, 0x0000000000000000,
0x0000080000000000, 0xfff8080000004000};
v4u64_op1 = (v4u64){0xfffffffffffffffe, 0xfffffffffffffffe,
0xfffffffefffffefc, 0xfffffffffffffffe};
__m256i_result = (__m256i){0x0000000200000000, 0x0000000000000000,
0x0000000000000000, 0x0000000200000000};
__m256i_out = __lasx_xvsrlr_w((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0101010101010101, 0x0101010101010101,
0x0101010101010101, 0x0101010101010101};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0101010101010101, 0x0101010101010101,
0x0101010101010101, 0x0101010101010101};
__m256i_out = __lasx_xvsrlr_w((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000ffff0000ffff,
0x0000000000000000, 0x0000ffff0000ffff};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000ffff0000ffff,
0x0000000000000000, 0x0000ffff0000ffff};
__m256i_out = __lasx_xvsrlr_w((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
v4u64_op1 = (v4u64){0x0000000200000002, 0x0000000200000002,
0x0000000200000002, 0x0000000200000002};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrlr_w((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x0000f0f0f0f0f0f0,
0x0000000000000000, 0x0000f0f0f0f0f0f0};
v4u64_op1 = (v4u64){0xff01ff01ff01f010, 0xff01ff01ff01f010,
0xff01ff01ff01f010, 0xff01ff01ff01f010};
__m256i_result = (__m256i){0x0000000000000000, 0x000078780000f0f1,
0x0000000000000000, 0x000078780000f0f1};
__m256i_out = __lasx_xvsrlr_w((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xfff0000000000080, 0xfff0000000000000,
0xfff0000000000080, 0xfff0000000000000};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0xfff0000000000080, 0xfff0000000000000,
0xfff0000000000080, 0xfff0000000000000};
__m256i_out = __lasx_xvsrlr_d((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x6300000000000000,
0x0000000000000000, 0x6300000000000000};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x6300000000000000,
0x0000000000000000, 0x6300000000000000};
__m256i_out = __lasx_xvsrlr_d((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x00000000ffffffff, 0x0000000000000000,
0x00000000ffffffff, 0x0000000000000000};
v4u64_op1 = (v4u64){0x00003ddd80007bbb, 0x0000000000002222,
0x00003ddd80007bbb, 0x0000000000002222};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrlr_d((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xffff800000000000, 0xffff800000000000,
0xffff800000000000, 0xffff800000000000};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0xffff800000000000, 0xffff800000000000,
0xffff800000000000, 0xffff800000000000};
__m256i_out = __lasx_xvsrlr_d((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xfffffff1fffffff1, 0xfffffff1fffffff1,
0xfffffff1fffffff1, 0xfffffff1fffffff1};
v4u64_op1 = (v4u64){0xfffffff1fffffff1, 0xfffffff1fffffff1,
0xfffffff1fffffff1, 0xfffffff1fffffff1};
__m256i_result = (__m256i){0x0000000000008000, 0x0000000000008000,
0x0000000000008000, 0x0000000000008000};
__m256i_out = __lasx_xvsrlr_d((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff,
0xffffffffffffffff, 0xffffffffffffffff};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff,
0xffffffffffffffff, 0xffffffffffffffff};
__m256i_out = __lasx_xvsrlr_d((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xf2b180c9fc1fefdc, 0xffffffff01fb0408,
0xf2b180c9fc1fefdc, 0xffffffff01fb0408};
v4u64_op1 = (v4u64){0xffffffffffefff80, 0x00000000000000b7,
0xffffffffffefff80, 0x00000000000000b7};
__m256i_result = (__m256i){0xf2b180c9fc1fefdc, 0x0000000000000200,
0xf2b180c9fc1fefdc, 0x0000000000000200};
__m256i_out = __lasx_xvsrlr_d((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x6b6b6b6b6b6b6b6b, 0x6b6b6b6b6b6b6b6b,
0x6b6b6b6b6b6b6b6b, 0x6b6b6b6b6b6b6b6b};
v4u64_op1 = (v4u64){0x6b6b6b6b6b6b6b6b, 0x6b6b6b6b6b6b6b6b,
0x6b6b6b6b6b6b6b6b, 0x6b6b6b6b6b6b6b6b};
__m256i_result = (__m256i){0x00000000000d6d6d, 0x00000000000d6d6d,
0x00000000000d6d6d, 0x00000000000d6d6d};
__m256i_out = __lasx_xvsrlr_d((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
return 0;
}