| #include "lasx_test_util.h" |
| #include <lasxintrin.h> |
| |
| int |
| main () |
| { |
| __m256i __m256i_out, __m256i_result; |
| __m256 __m256_out, __m256_result; |
| __m256d __m256d_out, __m256d_result; |
| v4u64 v4u64_op0, v4u64_op1, v4u64_op2; |
| v8i32 v8i32_op0, v8i32_op1, v8i32_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; |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_bu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x000000000000017e, 0x000000000000017e, |
| 0x000000000000017e, 0x000000000000017e}; |
| v4u64_op1 = (v4u64){0x0202810102020202, 0x0202020202020202, |
| 0x0202810102020202, 0x0202020202020202}; |
| __m256i_result = (__m256i){0x000000000000003f, 0x000000000000003f, |
| 0x000000000000003f, 0x000000000000003f}; |
| __m256i_out = __lasx_xvdiv_bu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xffffffffffba0c05, 0x0000000000483800, |
| 0xffffffffffba0c05, 0x0000000000483800}; |
| v4u64_op1 = (v4u64){0x5353535353535353, 0x5353535353535353, |
| 0x5353535353535353, 0x5353535353535353}; |
| __m256i_result = (__m256i){0x0303030303020000, 0x0000000000000000, |
| 0x0303030303020000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_bu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xfffdfffdfffdfffd, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| v4u64_op1 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_result = (__m256i){0x0100010001000100, 0x0101010101010101, |
| 0x0101010101010101, 0x0101010101010101}; |
| __m256i_out = __lasx_xvdiv_bu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x00000000000030b8, 0x0000000000000000, |
| 0x00000000000030b8, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0x6040190dffffffff, 0xecd011542d2cc4c7, |
| 0x6040190ddfdd8587, 0x9fe7fffffffff32e}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000001, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_bu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| v4u64_op1 = (v4u64){0x0202010202020102, 0x0202010202020102, |
| 0x0202010202020102, 0x0202010202020102}; |
| __m256i_result = (__m256i){0x7f7fff7f7f7fff7f, 0x7f7fff7f7f7fff7f, |
| 0x7f7fff7f7f7fff7f, 0x7f7fff7f7f7fff7f}; |
| __m256i_out = __lasx_xvdiv_bu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x00000000ffff97a2, 0x0000000000000000, |
| 0x00000000ffff97a2, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0x7fffffffffffffff, 0x7fffffffffffffff, |
| 0x7fffffffffffffff, 0x7fffffffffffffff}; |
| __m256i_result = (__m256i){0x0000000001010000, 0x0000000000000000, |
| 0x0000000001010000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_bu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000007fee, 0x0000000000007fee, |
| 0x0000000000007fee, 0x0000000000007fee}; |
| v4u64_op1 = (v4u64){0x7fffffffffffffff, 0x7fffffffffffffff, |
| 0x7fffffffffffffff, 0x7fffffffffffffff}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_hu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xe2e2e202ffffffff, 0x000000000000ff00, |
| 0xe2e2e202ffffffff, 0x000000000000ff00}; |
| v4u64_op1 = (v4u64){0xffffffffffffffff, 0xffc6ffc6003a003a, |
| 0xffffffffffffffff, 0xffc6ffc6003a003a}; |
| __m256i_result = (__m256i){0x0000000000010001, 0x0000000000000465, |
| 0x0000000000010001, 0x0000000000000465}; |
| __m256i_out = __lasx_xvdiv_hu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_hu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xfffe97c020010001, 0xfffeb6839ffffd80, |
| 0xfffe97c020010001, 0xfffeb6839ffffd80}; |
| v4u64_op1 = (v4u64){0xfffffffffffffff8, 0xfffffffffffffff8, |
| 0xfffffffffffffff8, 0xfffffffffffffff8}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_hu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000200, 0x0000000000000200, |
| 0x0000000000000200, 0x0000000000000200}; |
| v4u64_op1 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_hu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0x0101010201010102, 0x0101010202020203, |
| 0x0101010201010102, 0x0101010202020203}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_hu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0049004200000000, 0x00020001ffb6ffe0, |
| 0x0000000000000000, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0x0000f3280000dfff, 0xffffffff0000ffff, |
| 0x0000468600007f79, 0x0000ffff0000ff80}; |
| __m256i_result = (__m256i){0x0000004c00000000, 0x000000000000ffb7, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_wu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x7f7f7f7f7f7f7f7f, 0x0000000000000000, |
| 0x7f7f7f7f7f7f7f7f, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0x0020002000200020, 0x0020002000200020, |
| 0x0020002000200020, 0x0020002000200020}; |
| __m256i_result = (__m256i){0x000003fb000003fb, 0x0000000000000000, |
| 0x000003fb000003fb, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_wu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000100000001, 0x1fe01e0100000001, |
| 0x0000000100000001, 0x1fe01e0100000001}; |
| v4u64_op1 = (v4u64){0x0000000100000001, 0x1fe01e0100000001, |
| 0x0000000100000001, 0x1fe01e0100000001}; |
| __m256i_result = (__m256i){0x0000000100000001, 0x0000000100000001, |
| 0x0000000100000001, 0x0000000100000001}; |
| __m256i_out = __lasx_xvdiv_wu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_wu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000ffff0226823c, 0x00000000ff827f80, |
| 0x0000ffff0226823c, 0x00000000ff827f80}; |
| v4u64_op1 = (v4u64){0x2020202020202020, 0x2020202020202020, |
| 0x2020202020202020, 0x2020202020202020}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000007, |
| 0x0000000000000000, 0x0000000000000007}; |
| __m256i_out = __lasx_xvdiv_wu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0x007d003effa80010, 0x007d003e007d003e, |
| 0x007d003effa80010, 0x007d003e007d003e}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_wu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0xf800f800f800f800, 0xf800f800f800f800, |
| 0xf800f800f800f800, 0xf800f800f800f800}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_wu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| v4u64_op1 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_result = (__m256i){0x0000000100000001, 0x0000000100000001, |
| 0x0000000100000001, 0x0000000100000001}; |
| __m256i_out = __lasx_xvdiv_wu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xffffffffffffffff, 0x0000000000000000, |
| 0xffffffffffffffff, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0x01ffff4300ffff00, 0x0100010001000100, |
| 0x01ffff4300ffff00, 0x0100010001000100}; |
| __m256i_result = (__m256i){0x0000008000000100, 0x0000000000000000, |
| 0x0000008000000100, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_wu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000008000, 0x7fff80007fff0000, |
| 0x0000000000008000, 0x7fff80007fff0000}; |
| v4u64_op1 = (v4u64){0xfffffffe00000001, 0xfffffffe00000001, |
| 0xfffffffe00000001, 0xfffffffe00000001}; |
| __m256i_result = (__m256i){0x0000000000008000, 0x000000007fff0000, |
| 0x0000000000008000, 0x000000007fff0000}; |
| __m256i_out = __lasx_xvdiv_wu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_wu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_wu((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x6300000000000000, |
| 0x0000000000000000, 0x6300000000000000}; |
| v4u64_op1 = (v4u64){0xffffffffffffffff, 0x9cffffffffffffff, |
| 0xffffffffffffffff, 0x9cffffffffffffff}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_du((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0001000000010000, 0x0000000000000000, |
| 0x0001000000010000, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0x00000000000d0005, 0x0000000000000045, |
| 0x00000000000d0005, 0x0000000000000045}; |
| __m256i_result = (__m256i){0x0000000013b13380, 0x0000000000000000, |
| 0x0000000013b13380, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_du((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0x00000000ffffffff, 0x00000000ffffffff, |
| 0x00000000ffffffff, 0x00000000ffffffff}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_du((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x00011d1c00011d9c, 0x0000e2e20000e2e2, |
| 0x00011d1c00011d9c, 0x0000e2e20000e2e2}; |
| v4u64_op1 = (v4u64){0x00011d1c00011d9c, 0x0000e2e20000e2e2, |
| 0x00011d1c00011d9c, 0x0000e2e20000e2e2}; |
| __m256i_result = (__m256i){0x0000000000000001, 0x0000000000000001, |
| 0x0000000000000001, 0x0000000000000001}; |
| __m256i_out = __lasx_xvdiv_du((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0x1b1a191817161514, 0x232221201f1e1d1c, |
| 0x1b1a191817161514, 0x232221201f1e1d1c}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_du((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000010100000101, 0x0000000000000000, |
| 0x0000010100000101, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0x0000000100000001, 0x0000000100000001, |
| 0x0000000100000001, 0x0000000100000001}; |
| __m256i_result = (__m256i){0x0000000000000101, 0x0000000000000000, |
| 0x0000000000000101, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_du((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0101010201010102, 0x0101010202020203, |
| 0x0101010201010102, 0x0101010202020203}; |
| v4u64_op1 = (v4u64){0xfffffff0fffffff0, 0xfffffff0fffffff0, |
| 0xfffffff0fffffff0, 0xfffffff0fffffff0}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvdiv_du((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| return 0; |
| } |