| #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){0x000000003be14000, 0x0000000036de0000}; |
| v2u64_op2 = (v2u64){0x00000000ffff7a53, 0x0000000000001f0a}; |
| __m128i_result = (__m128i){0x00000000001f0000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_h_b((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000001f0a, 0x000000000000006f}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000001f0a, 0x000000000000006f}; |
| __m128i_out = __lsx_vmaddwev_h_b((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x000000000000cdc1, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x5237c1bac9eadf55, 0xe93d0bd19ff0c170}; |
| v2u64_op2 = (v2u64){0xcd1de80217374041, 0x05d0ae6002e8748e}; |
| __m128i_result = (__m128i){0x063bff74fb46e356, 0xf490ee600180ce20}; |
| __m128i_out = __lsx_vmaddwev_h_b((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff}; |
| v2u64_op1 = (v2u64){0x4040404040404040, 0x4040404040404040}; |
| v2u64_op2 = (v2u64){0x4040404040404040, 0x4040404040404040}; |
| __m128i_result = (__m128i){0x0fff0fff0fff0fff, 0x0fff0fff0fff0fff}; |
| __m128i_out = __lsx_vmaddwev_h_b((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x6363636363636363, 0x6363636363636363}; |
| v2u64_op1 = (v2u64){0x6363636363636363, 0x6363636363636363}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x6363636363636363, 0x6363636363636363}; |
| __m128i_out = __lsx_vmaddwev_h_b((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_h_b((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0xfffe00029f9f6061, 0xffff0000ffff0000}; |
| v2u64_op1 = (v2u64){0x3f5ec0a0feefa0b0, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x000000007fff7fff, 0x0000000000000000}; |
| __m128i_result = (__m128i){0xfffe00029fb060b1, 0xffff0000ffff0000}; |
| __m128i_out = __lsx_vmaddwev_h_b((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0xfffffffffffffff8, 0x0000000000000008}; |
| v2u64_op1 = (v2u64){0x39c51f389c0d6112, 0x8d78336c83652b86}; |
| v2u64_op2 = (v2u64){0xffff0001ffff0000, 0x00000000ffffffff}; |
| __m128i_result = (__m128i){0x003a0037fff2fff8, 0x00000000ff9b0082}; |
| __m128i_out = __lsx_vmaddwev_h_b((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x05fafe0101fe000e, 0x000000ff0000857a}; |
| v2u64_op1 = (v2u64){0x05fafe0101fe000e, 0x000000ff0000857a}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x05fafe0101fe000e, 0x000000ff0000857a}; |
| __m128i_out = __lsx_vmaddwev_h_b((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_w_h((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0xffffffffc6bb97ac, 0xffffffff82bb9784}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x7fffffffc6bb97ac, 0x7fffffff82bb9784}; |
| __m128i_result = (__m128i){0xffffffffc6bb97ac, 0xffffffff82bb9784}; |
| __m128i_out = __lsx_vmaddwev_w_h((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0xd005e802174023d6, 0x05d0ba0002e8802e}; |
| v2u64_op1 = (v2u64){0xc000c000c000ff81, 0xffffffffffffffff}; |
| v2u64_op2 = (v2u64){0x0ba00ba00ba011eb, 0x0ba00ba00ba00ba0}; |
| __m128i_result = (__m128i){0xcd1de80217374041, 0x05d0ae6002e8748e}; |
| __m128i_out = __lsx_vmaddwev_w_h((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x00ff00ff00fe00ff, 0x0000000000010000}; |
| v2u64_op2 = (v2u64){0x00000fff00000e36, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x000fef01000e27ca, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_w_h((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x7fff00007fff0000, 0x7fff00007fff0000}; |
| v2u64_op2 = (v2u64){0x7fff00007fff0000, 0x7fff00007fff0000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_w_h((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000040, 0x0000000000000040}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000040, 0x0000000000000040}; |
| __m128i_out = __lsx_vmaddwev_w_h((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0xc89d7f0fed582019, 0x680485c8b304b019}; |
| v2u64_op1 = (v2u64){0x000000003ddc5dac, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x387c7e0a133f2000, 0x67157b5100005000}; |
| __m128i_result = (__m128i){0xc89d7f0ff90da019, 0x680485c8b304b019}; |
| __m128i_out = __lsx_vmaddwev_w_h((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x01fc020000fe0100, 0x0000ff0000ff0000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x7fffffff7fffffff, 0x8000000080000000}; |
| v2u64_op1 = (v2u64){0x0000000200000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x7fffffff7fffffff, 0x8000000080000000}; |
| __m128i_out = __lsx_vmaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000ffff0000ffff, 0x000100fe000100fe}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0xffff0000ffff0000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000ffff0000ffff, 0x000100fe000100fe}; |
| __m128i_out = __lsx_vmaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff}; |
| v2u64_op1 = (v2u64){0xa23214697fd03f7f, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0xffffffffffffffff, 0xffffffffffffffff}; |
| __m128i_out = __lsx_vmaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000010000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x7c7c9c0000007176, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x00000000f3040705, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x7c7c9c0000007176, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x022002101b200203, 0x022002101b200203}; |
| v2u64_op1 = (v2u64){0x022002101b200203, 0x022002101b200203}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x000000080c43b700}; |
| __m128i_result = (__m128i){0x022002101b200203, 0x036caeeca7592703}; |
| __m128i_out = __lsx_vmaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0xdd3b8b02563b2d7b, 0x9c83e21a22001818}; |
| v2u64_op2 = (v2u64){0x0000000022001818, 0x000000009c83e21a}; |
| __m128i_result = (__m128i){0x0b73e427f7cfcb88, 0xf2c97aaa7d8fa270}; |
| __m128i_out = __lsx_vmaddwev_d_w((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0006000200000000, 0x0010001000030000}; |
| v2u64_op1 = (v2u64){0x0100d6effefd0498, 0x7505445465593af1}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0006000200000000, 0x0010001000030000}; |
| __m128i_out = __lsx_vmaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000800}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000800}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000800}; |
| __m128i_out = __lsx_vmaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0003000000010000, 0x0007000000040000}; |
| v2u64_op1 = (v2u64){0x0000780000007800, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0003000000010000, 0x0007000000040000}; |
| __m128i_out = __lsx_vmaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0xf047ef0000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0xffffffff80800001, 0xffffffff80800001}; |
| v2u64_op1 = (v2u64){0x80808080ffffffff, 0xfffffffff7fff7ef}; |
| v2u64_op2 = (v2u64){0x0000080800000808, 0x0000080800000808}; |
| __m128i_result = (__m128i){0x080803ff807ff7f9, 0xfffffbff8888080a}; |
| __m128i_out = __lsx_vmaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x7f801fe000000000, 0x3fc03fc000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff}; |
| __m128i_result = (__m128i){0x7f801fe000000000, 0x3fc03fc000000000}; |
| __m128i_out = __lsx_vmaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x01fe01fd01fd01fd}; |
| v2u64_op2 = (v2u64){0x7fff7fff7fff7f00, 0x5d7f5d007f6a007f}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000060000000000}; |
| v2u64_op1 = (v2u64){0x0000000500000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000060000000000}; |
| __m128i_out = __lsx_vmaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0xf8f8f8f8f8f8f8f8, 0xf8f8f8f8f8f8f8f8}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmaddwev_q_d((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| return 0; |
| } |