| #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){0x0000ffff00000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmax_b((__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){0xffffffffffffffff, 0xffffffffffffffff}; |
| __m128i_out = __lsx_vmax_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_vmax_b((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x000000010000003f, 0x7fff7fff7fff7fff}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x000000010000003f, 0x7f007f007f007f00}; |
| __m128i_out = __lsx_vmax_b((__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){0xfffff00010000fff, 0xfffff00010000fff}; |
| __m128i_result = (__m128i){0x0000000010000f01, 0x0000000010000f00}; |
| __m128i_out = __lsx_vmax_b((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0xfffcfffdfffcfffd, 0xfffcfffcfffcfffd}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmax_b((__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){0x1000100000101000, 0x0010100000100000}; |
| __m128i_result = (__m128i){0x1000100000101000, 0x0010100000100000}; |
| __m128i_out = __lsx_vmax_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_vmax_b((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0040000000000000, 0x0040000000ff00ff}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0040000000000000, 0x0040000000ff00ff}; |
| __m128i_out = __lsx_vmax_h((__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){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmax_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){0x0001000100000000, 0x0000000001000001}; |
| __m128i_result = (__m128i){0x0001000100000000, 0x0000000001000001}; |
| __m128i_out = __lsx_vmax_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_vmax_h((__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){0xa1e7b475d925730f, 0xb327b9363c992b2e}; |
| __m128i_result = (__m128i){0xffffffffffff730f, 0xffffffff3c992b2e}; |
| __m128i_out = __lsx_vmax_h((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x4101010141010100}; |
| v2u64_op1 = (v2u64){0x00000000000001ff, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x00000000000001ff, 0x4101010141010100}; |
| __m128i_out = __lsx_vmax_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_vmax_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_vmax_h((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x00000000003dffc2, 0x00000000003dffc2}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x00000000003d0000, 0x00000000003d0000}; |
| __m128i_out = __lsx_vmax_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_vmax_h((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0004001000000000, 0x0007001400000014}; |
| v2u64_op1 = (v2u64){0x0000000000000000, 0x000000000000053a}; |
| __m128i_result = (__m128i){0x0004001000000000, 0x000700140000053a}; |
| __m128i_out = __lsx_vmax_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_vmax_h((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000034, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0xffff80c1ffffe8de, 0xffff80c400000148}; |
| __m128i_result = (__m128i){0x0000000000000034, 0x0000000000000148}; |
| __m128i_out = __lsx_vmax_h((__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){0xffffffffffffffff, 0x0000000000000000}; |
| __m128i_result = (__m128i){0xffffffffffffffff, 0x0000000000000000}; |
| __m128i_out = __lsx_vmax_w((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000000000000, 0x0008000000000000}; |
| v2u64_op1 = (v2u64){0x00ff000000ff0000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x00ff000000ff0000, 0x0008000000000000}; |
| __m128i_out = __lsx_vmax_w((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x000a000a000a000a, 0x000a000a000a000a}; |
| v2u64_op1 = (v2u64){0x000a000a000a000a, 0x000a000a000a000a}; |
| __m128i_result = (__m128i){0x000a000a000a000a, 0x000a000a000a000a}; |
| __m128i_out = __lsx_vmax_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){0xffff0000ffff0000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000}; |
| __m128i_out = __lsx_vmax_w((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x00004e420000c26a, 0x0000b3a6000067da}; |
| v2u64_op1 = (v2u64){0x5779108fdedda7e4, 0xd78cfd70b5f65d76}; |
| __m128i_result = (__m128i){0x5779108f0000c26a, 0x0000b3a6000067da}; |
| __m128i_out = __lsx_vmax_w((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x020310edc003023d, 0x30eb022002101b20}; |
| v2u64_op1 = (v2u64){0x020310d0c0030220, 0x30eb020302101b03}; |
| __m128i_result = (__m128i){0x020310edc003023d, 0x30eb022002101b20}; |
| __m128i_out = __lsx_vmax_w((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0xfe3bfa3ffe3bfb21, 0xfe03fe01fe01fe01}; |
| v2u64_op1 = (v2u64){0x001d001d001d0000, 0x001d001d001d001d}; |
| __m128i_result = (__m128i){0x001d001d001d0000, 0x001d001d001d001d}; |
| __m128i_out = __lsx_vmax_w((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0x0000000100000155, 0x0000000000000000}; |
| v2u64_op1 = (v2u64){0xffff000000000000, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000000100000155, 0x0000000000000000}; |
| __m128i_out = __lsx_vmax_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_vmax_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_vmax_d((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| v2u64_op0 = (v2u64){0xd2f005e44bb43416, 0x00000000051649b6}; |
| v2u64_op1 = (v2u64){0x0000003e0000003f, 0x0000000000000000}; |
| __m128i_result = (__m128i){0x0000003e0000003f, 0x00000000051649b6}; |
| __m128i_out = __lsx_vmax_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){0x00012c8a0000a58a, 0x0000ebd20000714f}; |
| __m128i_result = (__m128i){0x00012c8a0000a58a, 0x0000ebd20000714f}; |
| __m128i_out = __lsx_vmax_d((__m128)v2u64_op0, (__m128)v2u64_op1); |
| check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__); |
| |
| return 0; |
| } |