| #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}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmadd_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){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x7ff0000000000000, 0x7ff0000000000000}; |
| __m128i_result = (__m128i){0xffffffffffffffff, 0xffffffffffffffff}; |
| __m128i_out = __lsx_vmadd_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){0xffffffff7f01ff01, 0xffffffffffffffff}; |
| v2u64_op1 = (v2u64){0x78c00000ff000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0xffffffff7f01ff01, 0xffffffffffffffff}; |
| __m128i_out = __lsx_vmadd_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){0x5252525252525252, 0x5252525252525252}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff}; |
| __m128i_result = (__m128i){0x5252525252525252, 0x5252525252525252}; |
| __m128i_out = __lsx_vmadd_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){0x0000002000000020, 0x0000002000000020}; |
| v2u64_op1 = (v2u64){0x00000000ff820f81, 0x0fbc1df53c1ae3f9}; |
| v2u64_op2 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff}; |
| __m128i_result = (__m128i){0x00000020017ef19f, 0xf144e32bc4e61d27}; |
| __m128i_out = __lsx_vmadd_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){0x01346b8d00b04c5a, 0x01ff020000ff03ff}; |
| v2u64_op1 = (v2u64){0xcbc2723a4f12a5f8, 0x002affd600000001}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x01346b8d00b04c5a, 0x01ff020000ff03ff}; |
| __m128i_out = __lsx_vmadd_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){0x0000000455555555, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000455555555, 0x0000000000000000}; |
| __m128i_out = __lsx_vmadd_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, 0x007f00ff00ff00fe}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x7ffffffe00000000, 0x7ffffffe00000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x007f00ff00ff00fe}; |
| __m128i_out = __lsx_vmadd_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){0x00020fbf00000fbf, 0x00060fbf00040fbf}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x12755900b653f081, 0x9727b8499727b849}; |
| __m128i_result = (__m128i){0x00020fbf00000fbf, 0x00060fbf00040fbf}; |
| __m128i_out = __lsx_vmadd_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, 0x0000000200000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000200000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000200000000}; |
| __m128i_out = __lsx_vmadd_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){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmadd_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){0xf7f7f7f7f7f7fbff, 0xf7f7f7ff8e8c6d7e}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0xffffffffffffffff, 0x00000000ffffffff}; |
| __m128i_result = (__m128i){0xf7f7f7f7f7f7fbff, 0xf7f7f7ff8e8c6d7e}; |
| __m128i_out = __lsx_vmadd_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){0xffffffffffffffff, 0xffffffffffffffff}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000001000000000}; |
| v2u64_op2 = (v2u64){0x0000ffff0000ff00, 0x0000ffff0000ffff}; |
| __m128i_result = (__m128i){0xffffffffffffffff, 0xffffffefffffffff}; |
| __m128i_out = __lsx_vmadd_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){0x0000000001010001, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0xffffffff0000ffff, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0fff0fff0fff0fff, 0x0fff0fff0fff0fff}; |
| __m128i_result = (__m128i){0xf001f0010101f002, 0x0000000000000000}; |
| __m128i_out = __lsx_vmadd_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){0x0010000000000001, 0x000fffffffffffff}; |
| v2u64_op1 = (v2u64){0x0000000000007f41, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0010000000000001, 0x000fffffffffffff}; |
| __m128i_out = __lsx_vmadd_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){0x0000000080808000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000080808000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmadd_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){0x08ec7f7f80000000, 0xdcec560380000000}; |
| v2u64_op1 = (v2u64){0x7fffffff81010102, 0x7fff010181010102}; |
| v2u64_op2 = (v2u64){0x322a52fc2ba83b96, 0x32d8f0a905b6c59b}; |
| __m128i_result = (__m128i){0xd6c22c8353a80d2c, 0xaa14efac3bb62636}; |
| __m128i_out = __lsx_vmadd_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){0x00009c7c00007176, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0xff000000001f1f00}; |
| __m128i_result = (__m128i){0x00009c7c00007176, 0x0000000000000000}; |
| __m128i_out = __lsx_vmadd_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){0xfb141d31fb141d31, 0x0000021100000211}; |
| v2u64_op1 = (v2u64){0x001effae001effae, 0x001effae001effae}; |
| v2u64_op2 = (v2u64){0x2006454690d3de87, 0x2006454690d3de87}; |
| __m128i_result = (__m128i){0xbbc8ecc5f3ced5f3, 0xc0b4d1a5f8babad3}; |
| __m128i_out = __lsx_vmadd_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){0x7f8000007f800000, 0x7f8000007f800000}; |
| v2u64_op1 = (v2u64){0x0700f8ff0700f8ff, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000007010701, 0x0000000007020701}; |
| __m128i_result = (__m128i){0x7f8000008680f1ff, 0x7f8000007f800000}; |
| __m128i_out = __lsx_vmadd_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){0xffffffff00000000, 0xffffffff00000000}; |
| v2u64_op1 = (v2u64){0xffffffffffffffff, 0xffffffffffff00ff}; |
| v2u64_op2 = (v2u64){0xffffffff00000000, 0xffffffff00000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmadd_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){0x00000000ff800000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x17c64aaef639f093}; |
| v2u64_op2 = (v2u64){0x27b169bbb8145f50, 0xf6548a1747e59090}; |
| __m128i_result = (__m128i){0x00000000ff800000, 0x10f881a20ffd02b0}; |
| __m128i_out = __lsx_vmadd_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){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x1f52d710bf295626, 0xffffffffa486c90f}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmadd_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){0x0000000000004b01, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x00000000000000a0, 0x00d3012acc56f9bb}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000004b01, 0x0000000000000000}; |
| __m128i_out = __lsx_vmadd_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, 0x00ff000000ff0000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x00ff000000ff0000}; |
| __m128i_out = __lsx_vmadd_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){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff}; |
| __m128i_result = (__m128i){0xffffffffffffffff, 0xffffffffffffffff}; |
| __m128i_out = __lsx_vmadd_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){0x8080808080808080, 0x8080808080808080}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmadd_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){0x41f8e08016161198, 0x6363636463abdf17}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| v2u64_op2 = (v2u64){0xffffffffffffffff, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x41f8e08016161198, 0x6363636463abdf17}; |
| __m128i_out = __lsx_vmadd_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_vmadd_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, 0xffffffff00000000}; |
| v2u64_op2 = (v2u64){0x0000ffff0000ffff, 0x0000ffff00000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmadd_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_vmadd_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){0x1304db85e468073a, 0xfa31dfa21672e711}; |
| v2u64_op2 = (v2u64){0x101f8b680b6f8095, 0x887c8beb969e00f2}; |
| __m128i_result = (__m128i){0x35aaa61c944f34c2, 0x7582ed22cb1c6e12}; |
| __m128i_out = __lsx_vmadd_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){0xfffffffffffffffe, 0xffffffffffffffff}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0xbfffbfffbfffbffe}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x4000400040004002}; |
| __m128i_out = __lsx_vmadd_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){0xfe01fe01fe01fe01, 0xfe01fe01fe01fe01}; |
| v2u64_op1 = (v2u64){0xfe01fe01fe01fe01, 0xfe01fe01fe01fe01}; |
| v2u64_op2 = (v2u64){0xff00ff00ff00ff00, 0xff00ff00ff00ff00}; |
| __m128i_result = (__m128i){0xf10cf508f904fd01, 0xf10cf508f904fd01}; |
| __m128i_out = __lsx_vmadd_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){0xffffb080ffffb080, 0xffffb080ffffb080}; |
| v2u64_op2 = (v2u64){0x9f4fcfcfcf800000, 0x004fcfcfd01f9f9f}; |
| __m128i_result = (__m128i){0x4676f70fc0000000, 0x3504b5fd2dee1f80}; |
| __m128i_out = __lsx_vmadd_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){0x0808080808080808, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmadd_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_vmadd_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){0x4040404040404040, 0x4040404040404040}; |
| v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmadd_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){0xfdce8003090b0906, 0x0674c886fcba4e98}; |
| v2u64_op1 = (v2u64){0xffc0ffc0003f003f, 0x003fffc0ffc0003f}; |
| v2u64_op2 = (v2u64){0x05ad3ba576eae048, 0x002a05a2f059094a}; |
| __m128i_result = (__m128i){0x24b85f887e903abe, 0xd4a6cc27d02397ce}; |
| __m128i_out = __lsx_vmadd_d((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| return 0; |
| } |