| #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){0x45c5c5c545c5c5c5, 0xc5c5c5c4c5c5c5c4, |
| 0x45c5c5c545c5c5c5, 0xc5c5c5c4c5c5c5c4}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvslei_bu((__m256)v4u64_op0, 0x0); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_bu((__m256)v4u64_op0, 0x4); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_bu((__m256)v4u64_op0, 0x7); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x000000000000003f, 0x0000000000000000, |
| 0x000000000000003f, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffff00, 0xffffffffffffffff, |
| 0xffffffffffffff00, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_bu((__m256)v4u64_op0, 0x8); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x000000007f7f7f80, 0x0000000000000000, |
| 0x000000007f7f7f80, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffff00000000, 0xffffffffffffffff, |
| 0xffffffff00000000, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_bu((__m256)v4u64_op0, 0xc); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x032eafee29010000, 0x04e8296f3c611818, |
| 0x032eafee29010000, 0x04e8296f3c611818}; |
| __m256i_result = (__m256i){0xff00000000ffffff, 0xff00000000000000, |
| 0xff00000000ffffff, 0xff00000000000000}; |
| __m256i_out = __lasx_xvslei_bu((__m256)v4u64_op0, 0xd); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_bu((__m256)v4u64_op0, 0xb); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x00000000f788f788, 0x8000000000000000, |
| 0x00000000f788f788, 0x8000000000000000}; |
| __m256i_result = (__m256i){0xffffffff00000000, 0x00ffffffffffffff, |
| 0xffffffff00000000, 0x00ffffffffffffff}; |
| __m256i_out = __lasx_xvslei_bu((__m256)v4u64_op0, 0x7); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x00037f94fffc806b, 0x00217f19ffde80e6, |
| 0x00037f94fffc806b, 0x00217f19ffde80e6}; |
| __m256i_result = (__m256i){0xffff000000000000, 0x0000000000000000, |
| 0xffff000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvslei_hu((__m256)v4u64_op0, 0xc); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_hu((__m256)v4u64_op0, 0x1a); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0101010101010101, 0x0101010101010101, |
| 0x0101010101010101, 0x0101010101010101}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvslei_hu((__m256)v4u64_op0, 0x17); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xfffffffffffffffe, 0xfffffffffffffffe, |
| 0xfffffffffffffffe, 0xfffffffffffffffe}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvslei_hu((__m256)v4u64_op0, 0x14); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x00003fc00000428a, 0xffffc040ffffc09d, |
| 0x00003fc00000428a, 0xffffc040ffffc09d}; |
| __m256i_result = (__m256i){0xffff0000ffff0000, 0x0000000000000000, |
| 0xffff0000ffff0000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvslei_hu((__m256)v4u64_op0, 0x1b); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_hu((__m256)v4u64_op0, 0xb); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_hu((__m256)v4u64_op0, 0x11); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x132feea900000000, 0x04e8296f18181818, |
| 0x132feea900000000, 0x04e8296f18181818}; |
| __m256i_result = (__m256i){0x00000000ffffffff, 0x0000000000000000, |
| 0x00000000ffffffff, 0x0000000000000000}; |
| __m256i_out = __lasx_xvslei_hu((__m256)v4u64_op0, 0x1e); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_hu((__m256)v4u64_op0, 0xf); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x000000007f807f80, 0x0000000000000000, |
| 0x000000007f807f80, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffff00000000, 0xffffffffffffffff, |
| 0xffffffff00000000, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_hu((__m256)v4u64_op0, 0x1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000200000002, 0x0000000200000002, |
| 0x0000000200000002, 0x0000000200000002}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_hu((__m256)v4u64_op0, 0x2); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_wu((__m256)v4u64_op0, 0x19); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_wu((__m256)v4u64_op0, 0x9); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xff874dc687870000, 0x00000000003f7e3f, |
| 0xffc6cc05c64d960e, 0x00000000003f7e3f}; |
| __m256i_result = (__m256i){0x0000000000000000, 0xffffffff00000000, |
| 0x0000000000000000, 0xffffffff00000000}; |
| __m256i_out = __lasx_xvslei_wu((__m256)v4u64_op0, 0xf); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_wu((__m256)v4u64_op0, 0x15); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x2020202020206431, 0x2020202020202020, |
| 0x2020202020206431, 0x2020202020202020}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvslei_wu((__m256)v4u64_op0, 0x13); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_wu((__m256)v4u64_op0, 0x9); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xdbcbdbcb0000dbcb, 0xdbcbdbcbecececec, |
| 0xdbcbdbcb0000dbcb, 0xdbcbdbcbecececec}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvslei_wu((__m256)v4u64_op0, 0xb); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_wu((__m256)v4u64_op0, 0x1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvslei_wu((__m256)v4u64_op0, 0x19); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x00000007ffffffff, 0x0000000000000000, |
| 0x00000007ffffffff, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffff00000000, 0xffffffffffffffff, |
| 0xffffffff00000000, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_wu((__m256)v4u64_op0, 0xa); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x03802fc000000000, 0x0000000000000000, |
| 0x03802fc000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x00000000ffffffff, 0xffffffffffffffff, |
| 0x00000000ffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_wu((__m256)v4u64_op0, 0x11); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_wu((__m256)v4u64_op0, 0x3); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_wu((__m256)v4u64_op0, 0xb); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvslei_wu((__m256)v4u64_op0, 0x18); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_du((__m256)v4u64_op0, 0x1f); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000007, 0x0001ffffffffffff, |
| 0x00000000000000e7, 0x0001ffffffffffff}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvslei_du((__m256)v4u64_op0, 0x11); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_du((__m256)v4u64_op0, 0x1f); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x00000000ffffffff, 0x00000000ffffffff, |
| 0x00000000ffffffff, 0x00000000ffffffff}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvslei_du((__m256)v4u64_op0, 0x10); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_out = __lasx_xvslei_du((__m256)v4u64_op0, 0x1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| return 0; |
| } |