| #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}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvandi_b((__m256)v4u64_op0, 0xe2); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000505, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000101, 0x0000000000000000}; |
| __m256i_out = __lasx_xvandi_b((__m256)v4u64_op0, 0x19); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xfffff8d9ffa7103d, 0x0000000000000000, |
| 0xff8f0842ff29211e, 0x001175f10e4330e8}; |
| __m256i_result = (__m256i){0x5b5b58595b031019, 0x0000000000000000, |
| 0x5b0b08425b09011a, 0x001151510a431048}; |
| __m256i_out = __lasx_xvandi_b((__m256)v4u64_op0, 0x5b); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0400040004000400, 0x0400040004000400, |
| 0x0400040004000400, 0x0400040004000400}; |
| __m256i_result = (__m256i){0x0400040004000400, 0x0400040004000400, |
| 0x0400040004000400, 0x0400040004000400}; |
| __m256i_out = __lasx_xvandi_b((__m256)v4u64_op0, 0x2d); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xfffffff900000003, 0x0000000000000002, |
| 0xfffffff900000003, 0x0000000000000002}; |
| __m256i_result = (__m256i){0x3f3f3f3900000003, 0x0000000000000002, |
| 0x3f3f3f3900000003, 0x0000000000000002}; |
| __m256i_out = __lasx_xvandi_b((__m256)v4u64_op0, 0x3f); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_result = (__m256i){0xbabababababababa, 0xbabababababababa, |
| 0xbabababababababa, 0xbabababababababa}; |
| __m256i_out = __lasx_xvandi_b((__m256)v4u64_op0, 0xba); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xff00ffffff00ffff, 0xffffffffffffffff, |
| 0xff00ffffff00ffff, 0xffffffffffffffff}; |
| __m256i_result = (__m256i){0x4000404040004040, 0x4040404040404040, |
| 0x4000404040004040, 0x4040404040404040}; |
| __m256i_out = __lasx_xvandi_b((__m256)v4u64_op0, 0x40); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvandi_b((__m256)v4u64_op0, 0x3f); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xffffffffffffff31, 0x0000000000000000, |
| 0xffffffffffffff3c, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x5e5e5e5e5e5e5e10, 0x0000000000000000, |
| 0x5e5e5e5e5e5e5e1c, 0x0000000000000000}; |
| __m256i_out = __lasx_xvandi_b((__m256)v4u64_op0, 0x5e); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvandi_b((__m256)v4u64_op0, 0x86); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x7ff0000000000000, 0x7ff0000000000000, |
| 0x7ff0000000000000, 0x7ff0000000000000}; |
| __m256i_result = (__m256i){0x7f70000000000000, 0x7f70000000000000, |
| 0x7f70000000000000, 0x7f70000000000000}; |
| __m256i_out = __lasx_xvandi_b((__m256)v4u64_op0, 0x7f); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvandi_b((__m256)v4u64_op0, 0xa3); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvandi_b((__m256)v4u64_op0, 0x1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvandi_b((__m256)v4u64_op0, 0x98); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvandi_b((__m256)v4u64_op0, 0xd9); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvandi_b((__m256)v4u64_op0, 0xcc); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| return 0; |
| } |