blob: c8308832202a1a178b5254bccedd0ee20c5e50d1 [file] [edit]
#include "lsx_test_util.h"
#include <lsxintrin.h>
int
main ()
{
__m128i __m128i_out, __m128i_result;
__m128 __m128_out, __m128_result;
__m128d __m128d_out, __m128d_result;
v2u64 v2u64_op0, v2u64_op1, v2u64_op2;
v4i32 v4i32_op0, v4i32_op1, v4i32_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;
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vaddwev_h_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0001000100010001, 0x0001000100010001};
v2u64_op1 = (v2u64){0x0000000000000000, 0x000000000000007b};
__m128i_result = (__m128i){0x0001000100010001, 0x000100010001007c};
__m128i_out = __lsx_vaddwev_h_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x00003ffd000a4000, 0x3fffffff80000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0xfffd000000000000};
__m128i_result = (__m128i){0x0000fffd000a0000, 0xfffcffff00000000};
__m128i_out = __lsx_vaddwev_h_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0800080008000800, 0x0800080008000800};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vaddwev_h_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x7fff00007fff0000, 0x7fff00007fff0000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0xffff0000ffff0000, 0xffff0000ffff0000};
__m128i_out = __lsx_vaddwev_h_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vaddwev_h_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x00000001ffffffff, 0x000000490000004d};
v2u64_op1 = (v2u64){0xff00ff0000000000, 0xff000000ff00ff00};
__m128i_result = (__m128i){0xffffff01ffffffff, 0x00000049ffffff4d};
__m128i_out = __lsx_vaddwev_w_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vaddwev_w_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x003fffff00000000, 0x003fffff00000000};
__m128i_result = (__m128i){0xffffffff00000000, 0xffffffff00000000};
__m128i_out = __lsx_vaddwev_w_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x5e695e96c396b402, 0x000000005e695e95};
v2u64_op1 = (v2u64){0x0000000000000000, 0x00000000ffffffff};
__m128i_result = (__m128i){0x00005e96ffffb402, 0x0000000000005e94};
__m128i_out = __lsx_vaddwev_w_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vaddwev_w_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0101010101010101, 0x0101010101010101};
v2u64_op1 = (v2u64){0xfffffffffffffffb, 0xfffffffffffffffb};
__m128i_result = (__m128i){0x00000100000000fc, 0x00000100000000fc};
__m128i_out = __lsx_vaddwev_w_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000158, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000158, 0x0000000000000000};
__m128i_out = __lsx_vaddwev_w_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vaddwev_w_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x00000000ffffffff, 0x00000000ffffffff};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0xffffffffffffffff, 0xffffffffffffffff};
__m128i_out = __lsx_vaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000005d5d, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000005d5d, 0x0000000000000000};
__m128i_out = __lsx_vaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x63635c9e63692363, 0x5c9c9c9ce3636363};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000063692363, 0xffffffffe3636363};
__m128i_out = __lsx_vaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff};
v2u64_op1 = (v2u64){0x0202020202020203, 0x0202020202020203};
__m128i_result = (__m128i){0x0000000002020202, 0x0000000002020202};
__m128i_out = __lsx_vaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x1615141315141312, 0x1817161517161514};
v2u64_op1 = (v2u64){0x76f424887fffffff, 0x0000000000000001};
__m128i_result = (__m128i){0x0000000095141311, 0x0000000017161515};
__m128i_out = __lsx_vaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0xffff00000000ffff};
v2u64_op1 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff};
__m128i_result = (__m128i){0xffffffffffffffff, 0x000000000000fffe};
__m128i_out = __lsx_vaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xfdfef9ff0efff900, 0x0000000000000001};
v2u64_op1 = (v2u64){0x0001fe00f8000700, 0xfffcfd000000fb00};
__m128i_result = (__m128i){0x0000000007000000, 0x000000000000fb01};
__m128i_out = __lsx_vaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x00ff00ff00ff00ff, 0x0000000000000000};
v2u64_op1 = (v2u64){0x807f808000000000, 0x0000000080806362};
__m128i_result = (__m128i){0x0000000000ff00ff, 0xffffffff80806362};
__m128i_out = __lsx_vaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x00000000ff960015, 0x0000000000010002};
__m128i_result = (__m128i){0xffffffffff960015, 0x0000000000010002};
__m128i_out = __lsx_vaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x27b169bbb8145f50, 0xf6548a1747e59090};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0xffffffffb8145f50, 0x0000000047e59090};
__m128i_out = __lsx_vaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffffffff008ff820, 0x00bbfff7fffffff7};
v2u64_op1 = (v2u64){0xffffffff008ff820, 0x00bbfff7fffffff7};
__m128i_result = (__m128i){0x00000000011ff040, 0xffffffffffffffee};
__m128i_out = __lsx_vaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff};
v2u64_op1 = (v2u64){0x000100010001fffe, 0x0001000100010001};
__m128i_result = (__m128i){0x000100010001fffd, 0x0000000000000000};
__m128i_out = __lsx_vaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0xffffffffffffffff, 0xffffffffffffffff};
__m128i_out = __lsx_vaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000001000000010};
v2u64_op1 = (v2u64){0x0000ffc100010001, 0xffc2ffe700000007};
__m128i_result = (__m128i){0x0000ffc100010001, 0x0000000000000000};
__m128i_out = __lsx_vaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0xffffffffffffffff};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0xffff80df00000000};
v2u64_op1 = (v2u64){0x00000000d46cdc13, 0x00000000dfa6e0c6};
__m128i_result = (__m128i){0x00000000d46cdc13, 0x0000000000000000};
__m128i_out = __lsx_vaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0xfe813f00fe813f00, 0xfe813f00fe813f00};
__m128i_result = (__m128i){0xfe813f00fe813f00, 0xffffffffffffffff};
__m128i_out = __lsx_vaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff};
v2u64_op1 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff};
__m128i_result = (__m128i){0xfffffffffffffffe, 0xffffffffffffffff};
__m128i_out = __lsx_vaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
return 0;
}