| #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){0x00000000807e7ffe, 0x7ffe7ffe7ffe8000, |
| 0x000000007ffe7ffe, 0x7ffe7ffe7ffe7ffe}; |
| v4u64_op1 = (v4u64){0x80a6802680200018, 0x8091811081110013, |
| 0x80a6802680208015, 0x8091811081118110}; |
| __m256i_result = (__m256i){0xfffeff0000007e7f, 0x0000000000000000, |
| 0xfffefffe0000feff, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_b_h((__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){0xfffffffefffffffe, 0xfffffffefffffffe, |
| 0x00000000fffffffe, 0xfffffffefffffffe}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_b_h((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000002, 0xffffffff00000001, |
| 0x0000000000000002, 0xffffffff00000001}; |
| v4u64_op1 = (v4u64){0x0000000000000002, 0xffffffff00000001, |
| 0x0000000000000002, 0xffffffff00000001}; |
| __m256i_result = (__m256i){0xffff000000000000, 0x0000000000000000, |
| 0xffff000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_b_h((__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){0x000000000000ffff, 0x0000000000000000, |
| 0x000000000000ffff, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_b_h((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x00000000000007c8, 0x0000000000000000, |
| 0x00000000000007c8, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0x0000000000ff0100, 0x0000000001fe01fe, |
| 0x0000000000ff0100, 0x0000000001fe01fe}; |
| __m256i_result = (__m256i){0x00000000000000c8, 0x0000000000000000, |
| 0x00000000000000c8, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_b_h((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000014402080144, 0x0000000000000000, |
| 0x0000014402080144, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0x000000000000000c, 0x000000000000000e, |
| 0x000000000000000c, 0x000000000000000e}; |
| __m256i_result = (__m256i){0x0000000000440800, 0x0000000000000000, |
| 0x0000000000440800, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_b_h((__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, 0x0000000000000000, |
| 0xffffffffffffffff, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_b_h((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000000, 0xffffffffffffffff, |
| 0x0000000000000000, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffff00000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_h_w((__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){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_h_w((__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){0x00000013ffffebd8, 0x00000013ffffffec, |
| 0x00000013ffffebd8, 0x00000013ffffffec}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_h_w((__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){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_h_w((__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){0x0000000800000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_h_w((__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){0xffffffffffffffff, 0x0000000000000000, |
| 0xffffffffffffffff, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_h_w((__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){0x0008000000000000, 0x0010000000000000, |
| 0x0008000000000000, 0x0010000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_h_w((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xffffffff00000000, 0xffffffff00000000, |
| 0xffffffff00000000, 0xffffffff00000000}; |
| v4u64_op1 = (v4u64){0x0000000000000054, 0x0000000000000000, |
| 0x0000000000000055, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffff0000ffff0000, 0x0000000000000000, |
| 0xffff0000ffff0000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_h_w((__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){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_w_d((__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){0x0000000000004000, 0x7f80780000000000, |
| 0x0000000000004000, 0x7f80780000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_w_d((__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){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_w_d((__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){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_w_d((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xfebdff3eff3dff52, 0xfebdff3eff3dff52, |
| 0xfebdff3eff3dff52, 0xfebdff3eff3dff52}; |
| v4u64_op1 = (v4u64){0xffffffffffffffff, 0xffffffffffffffff, |
| 0xffffffffffffffff, 0xffffffffffffffff}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0x0000000000000000, |
| 0xffffffffffffffff, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_w_d((__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){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0x0000000000000000, |
| 0xffffffffffffffff, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_w_d((__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){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_w_d((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000ffff0000ffff, 0x0000ffff0000ffff, |
| 0x0000ffff0000ffff, 0x0000ffff0000ffff}; |
| v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000ffff0000ffff, 0x0000000000000000, |
| 0x0000ffff0000ffff, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_w_d((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000100010001, 0x0001000000000000, |
| 0x0000000100010001, 0x0001000000000000}; |
| v4u64_op1 = (v4u64){0xffff47b4ffff5879, 0x0000504fffff3271, |
| 0xffff47b4ffff5879, 0x0000504fffff3271}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_w_d((__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){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_w_d((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x3d3d3d3d3d3d3d3d, 0x3d3d3d3d3d3d3d3d, |
| 0x3d3d3d3d3d3d3d3d, 0x3d3d3d3d3d3d3d3d}; |
| v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x3d3d3d3d3d3d3d3d, 0x0000000000000000, |
| 0x3d3d3d3d3d3d3d3d, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_w_d((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x000000003fc03bbc, 0xfffffffffc01fc01, |
| 0x000000003fc03bbc, 0xfffffffffc01fc01}; |
| v4u64_op1 = (v4u64){0x0000000000000405, 0x0000000001010100, |
| 0x0000000000000405, 0x0000000001010100}; |
| __m256i_result = (__m256i){0xfc01fc0101fe01dd, 0x0000000000000000, |
| 0xfc01fc0101fe01dd, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_w_d((__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){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_w_d((__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){0x7fffffff80000000, 0x7fffffff80000000, |
| 0x7fffffff80000000, 0x7fffffff80000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsran_w_d((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| return 0; |
| } |