blob: a2effb48628610f1d4eb9973d1239249a7c84766 [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, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_b_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){0x0000ffff0000ffff, 0x0000ffff0000ffff,
0x0000ffff0000ffff, 0x0000ffff0000ffff};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_b_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){0x0101000001010000, 0x0008000001010000,
0x2020000020200000, 0x2020000020200000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_b_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){0xfff8fff8fff8fff8, 0x0000000000000000,
0xfff8fff8fff8fff8, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_b_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_xvsrln_b_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xa1a1a1a15e5e5e5e, 0xa1a1a1a1a1a1a1a1,
0xa1a1a1a15e5e5e5e, 0xa1a1a1a1a1a1a1a1};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0xa1a1a1a1a1a15e5e, 0x0000000000000000,
0xa1a1a1a1a1a15e5e, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_b_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0xffffffffffffffff,
0x0000000000000000, 0xffffffffffffffff};
v4u64_op1 = (v4u64){0x000a800b000a800b, 0x0003800400038004,
0x000a800b000a800b, 0x0003800400038004};
__m256i_result = (__m256i){0xffffffff00000000, 0x0000000000000000,
0xffffffff00000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_b_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){0x0000000100000001, 0x0000000100000001,
0x0000000100000001, 0x0000000100000001};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_b_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000100000000, 0x0000000000000000,
0x0000000100000000, 0x0000000000000000};
v4u64_op1 = (v4u64){0x000800400010006d, 0x0000000000000000,
0x000800400010006d, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000010000, 0x0000000000000000,
0x0000000000010000, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_b_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_xvsrln_b_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0045b8ae81bce1d8, 0x0000003868686a20,
0x0045b8ae81bce1d8, 0x0000003868686a20};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x00386a20b8aee1d8, 0x0000000000000000,
0x00386a20b8aee1d8, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_h_w((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000ffff0000ffff, 0x0000ffff0000ffff,
0x0000ffff0000ffff, 0x0000ffff0000ffff};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0xffffffffffffffff, 0x0000000000000000,
0xffffffffffffffff, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_h_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){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_h_w((__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, 0x0000000000000000,
0xffffffffffffffff, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_h_w((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000100010001, 0x0001000000000000,
0x0000000100010001, 0x0001000000000000};
v4u64_op1 = (v4u64){0x000000010000000a, 0x0000000000000000,
0x000000010000000a, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000040, 0x0000000000000000,
0x0000000000000040, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_h_w((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000064, 0x0000000000000781,
0x0000000000000064, 0x0000000000000000};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000078100000064, 0x0000000000000000,
0x0000000000000064, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_h_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){0x0080000000800000, 0x0080000000800000,
0x0080000000800000, 0x0080000000800000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_h_w((__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){0x0404040404040404, 0x0404040404040404,
0x0404040404040404, 0x0404040404040404};
__m256i_result = (__m256i){0xffffffffffffffff, 0x0000000000000000,
0xffffffffffffffff, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_h_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){0x00000000ffff97a2, 0x00000000ffffffff,
0x00000000ffff97a2, 0x00000000ffffffff};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_h_w((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000027, 0x0000000000000040,
0x0000000000000027, 0x0000000000000040};
v4u64_op1 = (v4u64){0x7fffffffffffffff, 0x7fffffffffffffff,
0x7fffffffffffffff, 0x7fffffffffffffff};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_h_w((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xffffffffffffff10, 0xffffffffffffffff,
0xffffffffffffff10, 0xffffffffffffffff};
v4u64_op1 = (v4u64){0x1716151417161514, 0x1716151417161514,
0x1716151417161514, 0x1716151417161514};
__m256i_result = (__m256i){0x0fff0fff0fff0fff, 0x0000000000000000,
0x0fff0fff0fff0fff, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_h_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){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_w_d((__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){0x00ff00ff017e01fe, 0x017e00ff017e00ff,
0x00ff00ff017e01fe, 0x00ff00ff00ff00ff};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_w_d((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xdb8e20990cce025a, 0x0000007fff01fffb,
0xdb8a3109fe0f0020, 0x88888a6d0962002e};
v4u64_op1 = (v4u64){0x00000000ff83ff01, 0xff01ff3400000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0xff01fffb8667012d, 0x0000000000000000,
0x0962002efe0f0020, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_w_d((__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_xvsrln_w_d((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x00000000fb7afb62, 0x00000000fffeffeb,
0x00000000fb7afb62, 0x00000000fffeffeb};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0xfffeffebfb7afb62, 0x0000000000000000,
0xfffeffebfb7afb62, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_w_d((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x01fe01ae00ff00ff, 0x00ff010000ff017e,
0x01fe01ae00ff00ff, 0x00ff010000ff017e};
v4u64_op1 = (v4u64){0x000000010000000a, 0x0000000a00000000,
0x000000010000000a, 0x0000000a00000000};
__m256i_result = (__m256i){0x00ff017e6b803fc0, 0x0000000000000000,
0x00ff017e6b803fc0, 0x0000000000000000};
__m256i_out = __lasx_xvsrln_w_d((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
return 0;
}