| #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, 0xffffffff80000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0xffffffff80000000}; |
| __m128i_out = __lsx_vmax_bu((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x00000000007f0000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x00000000007f0000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmax_bu((__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_vmax_bu((__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){0xffff000000000000, 0xffff0000ffff0000}; |
| __m128i_result = (__m128i){0xffff000000000000, 0xffff0000ffff0000}; |
| __m128i_out = __lsx_vmax_bu((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x77c03fd640003fc6, 0x77c0404a4000403a}; |
| v2u64_op1 = (v2u64){0x0000003a0000003a, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x77c03fd640003fc6, 0x77c0404a4000403a}; |
| __m128i_out = __lsx_vmax_bu((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0xbafebb00ffd500fe}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0xbafebb00ffd500fe}; |
| __m128i_result = (__m128i){0x0000000000000000, 0xbafebb00ffd500fe}; |
| __m128i_out = __lsx_vmax_bu((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x52525252adadadad, 0x52525252adadadad}; |
| v2u64_op1 = (v2u64){0x5b5b5b5aa4a4a4a6, 0xffffffffffffffff}; |
| __m128i_result = (__m128i){0x5b5b5b5aadadadad, 0xffffffffffffffff}; |
| __m128i_out = __lsx_vmax_bu((__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){0xfe03fe3ffe01fa21, 0xfe3bfb01fe3bfe01}; |
| __m128i_result = (__m128i){0xfe03fe3ffe01fa21, 0xfe3bfb01fe3bfe01}; |
| __m128i_out = __lsx_vmax_bu((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x00007e1600007d98, 0x0000f50000007500}; |
| v2u64_op1 = (v2u64){0x00fe00fe00fe00fe, 0x0000000000fe00fe}; |
| __m128i_result = (__m128i){0x00fe7efe00fe7dfe, 0x0000f50000fe75fe}; |
| __m128i_out = __lsx_vmax_bu((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x9c9c9c9c00000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0101010180800101, 0x2002040404010420}; |
| __m128i_result = (__m128i){0x9c9c9c9c80800101, 0x2002040404010420}; |
| __m128i_out = __lsx_vmax_hu((__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_vmax_hu((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0xfffffffffffffff0, 0xff84fff4ff84fff4}; |
| v2u64_op1 = (v2u64){0xfffffffffffffff0, 0xff84fff4ff84fff4}; |
| __m128i_result = (__m128i){0xfffffffffffffff0, 0xff84fff4ff84fff4}; |
| __m128i_out = __lsx_vmax_hu((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0xffff0000ffff0000, 0xffff0000ffff0000}; |
| v2u64_op1 = (v2u64){0x0000ffffffdfffdf, 0x0000ffffffffffff}; |
| __m128i_result = (__m128i){0xffffffffffffffdf, 0xffffffffffffffff}; |
| __m128i_out = __lsx_vmax_hu((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0xffffffffffffffff, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0xf001f0010101f002, 0x0000000000000000}; |
| __m128i_result = (__m128i){0xffffffffffffffff, 0x0000000000000000}; |
| __m128i_out = __lsx_vmax_hu((__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){0x685670d27e00682a, 0x14ccc6320076a4d2}; |
| __m128i_result = (__m128i){0x685670d27e00682a, 0x14ccc6320076a4d2}; |
| __m128i_out = __lsx_vmax_hu((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x00000000000000ff, 0x00000000000000ff}; |
| v2u64_op1 = (v2u64){0x27b169bbb8145f50, 0xf6548a1747e59090}; |
| __m128i_result = (__m128i){0x27b169bbb8145f50, 0xf6548a1747e59090}; |
| __m128i_out = __lsx_vmax_hu((__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_vmax_wu((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x8000000080000000, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x00007f01000eff0a, 0xffff80ff0010ff06}; |
| __m128i_result = (__m128i){0x8000000080000000, 0xffff80ff0010ff06}; |
| __m128i_out = __lsx_vmax_wu((__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_vmax_wu((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x000000002bfd9461, 0x00007fff00007fff}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x3ff0000000000000}; |
| __m128i_result = (__m128i){0x000000002bfd9461, 0x3ff0000000007fff}; |
| __m128i_out = __lsx_vmax_wu((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0xfffff000fffff000, 0xfffff0000000ad3d}; |
| v2u64_op1 = (v2u64){0x1000100010001000, 0x1000100010001000}; |
| __m128i_result = (__m128i){0xfffff000fffff000, 0xfffff00010001000}; |
| __m128i_out = __lsx_vmax_wu((__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){0x000000000000001f, 0x000000000000001f}; |
| __m128i_result = (__m128i){0x000000000000001f, 0x000000000000001f}; |
| __m128i_out = __lsx_vmax_wu((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000040, 0x0000000000000040}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000040, 0x0000000000000040}; |
| __m128i_out = __lsx_vmax_wu((__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, 0x00000000ffffffff}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x00000000ffffffff}; |
| __m128i_out = __lsx_vmax_wu((__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_vmax_wu((__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_vmax_du((__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){0xffffffffffffffff, 0xffffffffffffffff}; |
| __m128i_result = (__m128i){0xffffffffffffffff, 0xffffffffffffffff}; |
| __m128i_out = __lsx_vmax_du((__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_vmax_du((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000001, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff}; |
| __m128i_result = (__m128i){0xffffffffffffffff, 0xffffffffffffffff}; |
| __m128i_out = __lsx_vmax_du((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000001, 0x0000000000000001}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x7fffffffffffffff}; |
| __m128i_result = (__m128i){0x0000000000000001, 0x7fffffffffffffff}; |
| __m128i_out = __lsx_vmax_du((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0xc605c000aedd0000, 0xa2a2a2a3a2a2a2a3}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0xffffffffffffffff}; |
| __m128i_result = (__m128i){0xc605c000aedd0000, 0xffffffffffffffff}; |
| __m128i_out = __lsx_vmax_du((__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){0x479f64b03373df61, 0x09e8e9012fded7fd}; |
| __m128i_result = (__m128i){0x479f64b03373df61, 0x09e8e9012fded7fd}; |
| __m128i_out = __lsx_vmax_du((__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_vmax_du((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000005, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000005, 0x0000000000000000}; |
| __m128i_out = __lsx_vmax_du((__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_vmax_du((__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){0x52525252adadadad, 0x52525252adadadad}; |
| __m128i_result = (__m128i){0x52525252adadadad, 0x52525252adadadad}; |
| __m128i_out = __lsx_vmax_du((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0808080808080808, 0x0808080700000000}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x3fff3fff3fff3fff}; |
| __m128i_result = (__m128i){0x0808080808080808, 0x3fff3fff3fff3fff}; |
| __m128i_out = __lsx_vmax_du((__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){0x0000000000000100, 0x0000000202020200}; |
| __m128i_result = (__m128i){0x0000000000000100, 0x0000000202020200}; |
| __m128i_out = __lsx_vmax_du((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| return 0; |
| } |