blob: b414e1b23c6b07656d5f1c72381a0c42e050e642 [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){0xffffb341ffff8006, 0xb2c0000000008006,
0xfffff24affff8025, 0x9240000000008025};
v4u64_op1 = (v4u64){0xffffb341ffff8006, 0xb2c0000000008006,
0xfffff24affff8025, 0x9240000000008025};
__m256i_result = (__m256i){0xfffeff66fffeff00, 0xff6400000000ff00,
0xfffeffe4fffeff00, 0xff2400000000ff00};
__m256i_out = __lasx_xvaddwod_h_b((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xff04ff00ff00ff00, 0xff00ff00ff00ff00,
0xff04ff00ff00ff00, 0xff00ff00ff00ff00};
v4u64_op1 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff,
0xffffffffffffffff, 0xffffffffffffffff};
__m256i_result = (__m256i){0xfffefffefffefffe, 0xfffefffefffefffe,
0xfffefffefffefffe, 0xfffefffefffefffe};
__m256i_out = __lasx_xvaddwod_h_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){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvaddwod_h_b((__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){0xfffe0000fffe0002, 0xfffefffefffefffe,
0xfffe0000fffe0002, 0xfffefffefffefffe};
__m256i_result = (__m256i){0xffff0000fffeffff, 0xffffffffffffffff,
0xffff0000fffeffff, 0xffffffffffffffff};
__m256i_out = __lasx_xvaddwod_h_b((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xff00000000000000, 0xffffff00ffffff00,
0xff00000000000000, 0xffffff00ffffff00};
v4u64_op1 = (v4u64){0x0000ffc0003fffc0, 0x0000000000000000,
0x0000ffc0003fffc0, 0x0000000000000000};
__m256i_result = (__m256i){0xffffffff0000ffff, 0xffffffffffffffff,
0xffffffff0000ffff, 0xffffffffffffffff};
__m256i_out = __lasx_xvaddwod_h_b((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x7fff7ffeffffffff, 0x0000000000000001,
0x7fff7ffeffffffff, 0x0000000000000001};
v4u64_op1 = (v4u64){0x0000fc300000fc40, 0x0000000000000000,
0x0000fc300000fc40, 0x0000000000000000};
__m256i_result = (__m256i){0x007f007bfffffffb, 0x0000000000000000,
0x007f007bfffffffb, 0x0000000000000000};
__m256i_out = __lasx_xvaddwod_h_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){0x000201220001011c, 0x0000000000000000,
0x000201220001011c, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000100000001, 0x0000000000000000,
0x0000000100000001, 0x0000000000000000};
__m256i_out = __lasx_xvaddwod_h_b((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x7fa0001fff808000, 0xffe0ffe000000001,
0x7fa0001fff808000, 0xffe0ffe000000001};
v4u64_op1 = (v4u64){0x0000000000000000, 0x00000000ffff0000,
0x0000000000000000, 0x00000000ffff0000};
__m256i_result = (__m256i){0x007f0000ffffff80, 0xffffffffffff0000,
0x007f0000ffffff80, 0xffffffffffff0000};
__m256i_out = __lasx_xvaddwod_h_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){0x04f104f104f504ed, 0x0000ffff0002fffd,
0x04f104f104f504ed, 0x0000ffff0002fffd};
__m256i_result = (__m256i){0x0004000400040004, 0x0000ffff0000ffff,
0x0004000400040004, 0x0000ffff0000ffff};
__m256i_out = __lasx_xvaddwod_h_b((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xffffffff00000000, 0x7ff0000000000000,
0x7ff0000000000000, 0x7ff0000000000000};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0xffffffff00000000, 0x00007ff000000000,
0x00007ff000000000, 0x00007ff000000000};
__m256i_out = __lasx_xvaddwod_w_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000ff0000, 0x0000000000000000,
0x0000000000ff0000, 0x0000000000000000};
v4u64_op1 = (v4u64){0x0000000000ff0000, 0x0000000000000000,
0x0000000000ff0000, 0x0000000000000000};
__m256i_result = (__m256i){0x00000000000001fe, 0x0000000000000000,
0x00000000000001fe, 0x0000000000000000};
__m256i_out = __lasx_xvaddwod_w_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000d24, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
v4u64_op1 = (v4u64){0x0000000000000d24, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvaddwod_w_h((__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){0x3fc03f6400000000, 0x4ffc3f7800000000,
0x3fc03f6400000000, 0x4ffc3f7800000000};
__m256i_result = (__m256i){0x000040c100000101, 0x000050fd00000101,
0x000040c100000101, 0x000050fd00000101};
__m256i_out = __lasx_xvaddwod_w_h((__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_xvaddwod_w_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){0x0000000000000002, 0x0000000000000002,
0x0000000000000002, 0x0000000000000002};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvaddwod_w_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x00000000000000c9, 0x0000000000000000,
0x00000000000000c9, 0x0000000000000000};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvaddwod_w_h((__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){0x000000000000ffff, 0x0000000000000000,
0x000000000000ffff, 0x0000000000000000};
__m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff,
0xffffffffffffffff, 0xffffffffffffffff};
__m256i_out = __lasx_xvaddwod_w_h((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000800080008000, 0x0000800080008000,
0x0000800080008000, 0x0000800080008000};
v4u64_op1 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff,
0xffffffffffffffff, 0xffffffffffffffff};
__m256i_result = (__m256i){0x0000000000007fff, 0x0000000000007fff,
0x0000000000007fff, 0x0000000000007fff};
__m256i_out = __lasx_xvaddwod_d_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,
0x0000000000000003, 0x0000000000000001};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvaddwod_d_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_xvaddwod_d_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_xvaddwod_d_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_xvaddwod_d_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_xvaddwod_d_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){0xffffffffffffffff, 0xffffffffffffffff,
0xffffffffffffffff, 0xffffffffffffffff};
__m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff,
0xffffffffffffffff, 0xffffffffffffffff};
__m256i_out = __lasx_xvaddwod_d_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_xvaddwod_d_w((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000400008, 0x000000000000006d,
0x0000000000400008, 0x000000000000006d};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_out = __lasx_xvaddwod_d_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_xvaddwod_d_w((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xc70000020000c000, 0xc9d8080067f50020,
0x0000800080000000, 0x8000800000000000};
v4u64_op1 = (v4u64){0xffffffffbe8b470f, 0x7ffffffffffff7ff,
0xffffffffe06df0d7, 0x7ffffffffffff7ff};
__m256i_result = (__m256i){0x49d8080067f4f81f, 0x0000000000000000,
0x00007ffffffff7ff, 0x0000000000000000};
__m256i_out = __lasx_xvaddwod_q_d((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x0000000000000000, 0x000000000000ffff,
0x0000000000000000, 0x000000000000ff80};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x000000000000ffff, 0x0000000000000000,
0x000000000000ff80, 0x0000000000000000};
__m256i_out = __lasx_xvaddwod_q_d((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0xffffffffffff5f5c, 0xffffffffffff5f5c,
0xffffffffffff5f5c, 0xffffffffffff5f5c};
v4u64_op1 = (v4u64){0xffffffffffff605a, 0xffffffffffff5f5c,
0xffffffffffff605a, 0xffffffffffff5f5c};
__m256i_result = (__m256i){0xfffffffffffebeb8, 0xffffffffffffffff,
0xfffffffffffebeb8, 0xffffffffffffffff};
__m256i_out = __lasx_xvaddwod_q_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){0x1111111111111111, 0x1111111111111111,
0x1111111111111111, 0x1111111111111111};
__m256i_result = (__m256i){0x1111111111111111, 0x0000000000000000,
0x1111111111111111, 0x0000000000000000};
__m256i_out = __lasx_xvaddwod_q_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){0xffffffffffffffdc, 0x0000000000000001,
0xfffffffeffffffdd, 0x0000000000000001};
__m256i_result = (__m256i){0x0000000000000001, 0x0000000000000000,
0x0000000000000001, 0x0000000000000000};
__m256i_out = __lasx_xvaddwod_q_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_xvaddwod_q_d((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
v4u64_op0 = (v4u64){0x00000000000d6d6d, 0x00000000000d6d6d,
0x00000000000d6d6d, 0x00000000000d6d6d};
v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000,
0x0000000000000000, 0x0000000000000000};
__m256i_result = (__m256i){0x00000000000d6d6d, 0x0000000000000000,
0x00000000000d6d6d, 0x0000000000000000};
__m256i_out = __lasx_xvaddwod_q_d((__m256)v4u64_op0, (__m256)v4u64_op1);
check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__);
return 0;
}