| #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){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_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){0x0000ffff0000ffff, 0x0000ffff0000ffff, |
| 0x0000ffff0000ffff, 0x0000ffff0000ffff}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_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){0x0101000001010000, 0x0008000001010000, |
| 0x2020000020200000, 0x2020000020200000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_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){0xfff8fff8fff8fff8, 0x0000000000000000, |
| 0xfff8fff8fff8fff8, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_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){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_b_h((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xa1a1a1a15e5e5e5e, 0xa1a1a1a1a1a1a1a1, |
| 0xa1a1a1a15e5e5e5e, 0xa1a1a1a1a1a1a1a1}; |
| v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xa1a1a1a1a1a15e5e, 0x0000000000000000, |
| 0xa1a1a1a1a1a15e5e, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_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, 0xffffffffffffffff}; |
| v4u64_op1 = (v4u64){0x000a800b000a800b, 0x0003800400038004, |
| 0x000a800b000a800b, 0x0003800400038004}; |
| __m256i_result = (__m256i){0xffffffff00000000, 0x0000000000000000, |
| 0xffffffff00000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_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){0x0000000100000001, 0x0000000100000001, |
| 0x0000000100000001, 0x0000000100000001}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_b_h((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000100000000, 0x0000000000000000, |
| 0x0000000100000000, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0x000800400010006d, 0x0000000000000000, |
| 0x000800400010006d, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000010000, 0x0000000000000000, |
| 0x0000000000010000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_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){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_b_h((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0045b8ae81bce1d8, 0x0000003868686a20, |
| 0x0045b8ae81bce1d8, 0x0000003868686a20}; |
| v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x00386a20b8aee1d8, 0x0000000000000000, |
| 0x00386a20b8aee1d8, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_h_w((__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){0xffffffffffffffff, 0x0000000000000000, |
| 0xffffffffffffffff, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_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_xvsrln_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){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0x0000000000000000, |
| 0xffffffffffffffff, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_h_w((__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){0x000000010000000a, 0x0000000000000000, |
| 0x000000010000000a, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000000000000040, 0x0000000000000000, |
| 0x0000000000000040, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_h_w((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000064, 0x0000000000000781, |
| 0x0000000000000064, 0x0000000000000000}; |
| v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0x0000078100000064, 0x0000000000000000, |
| 0x0000000000000064, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_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){0x0080000000800000, 0x0080000000800000, |
| 0x0080000000800000, 0x0080000000800000}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_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){0x0404040404040404, 0x0404040404040404, |
| 0x0404040404040404, 0x0404040404040404}; |
| __m256i_result = (__m256i){0xffffffffffffffff, 0x0000000000000000, |
| 0xffffffffffffffff, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_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){0x00000000ffff97a2, 0x00000000ffffffff, |
| 0x00000000ffff97a2, 0x00000000ffffffff}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_h_w((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x0000000000000027, 0x0000000000000040, |
| 0x0000000000000027, 0x0000000000000040}; |
| v4u64_op1 = (v4u64){0x7fffffffffffffff, 0x7fffffffffffffff, |
| 0x7fffffffffffffff, 0x7fffffffffffffff}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_h_w((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xffffffffffffff10, 0xffffffffffffffff, |
| 0xffffffffffffff10, 0xffffffffffffffff}; |
| v4u64_op1 = (v4u64){0x1716151417161514, 0x1716151417161514, |
| 0x1716151417161514, 0x1716151417161514}; |
| __m256i_result = (__m256i){0x0fff0fff0fff0fff, 0x0000000000000000, |
| 0x0fff0fff0fff0fff, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_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_xvsrln_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){0x00ff00ff017e01fe, 0x017e00ff017e00ff, |
| 0x00ff00ff017e01fe, 0x00ff00ff00ff00ff}; |
| __m256i_result = (__m256i){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_w_d((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0xdb8e20990cce025a, 0x0000007fff01fffb, |
| 0xdb8a3109fe0f0020, 0x88888a6d0962002e}; |
| v4u64_op1 = (v4u64){0x00000000ff83ff01, 0xff01ff3400000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xff01fffb8667012d, 0x0000000000000000, |
| 0x0962002efe0f0020, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_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_xvsrln_w_d((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x00000000fb7afb62, 0x00000000fffeffeb, |
| 0x00000000fb7afb62, 0x00000000fffeffeb}; |
| v4u64_op1 = (v4u64){0x0000000000000000, 0x0000000000000000, |
| 0x0000000000000000, 0x0000000000000000}; |
| __m256i_result = (__m256i){0xfffeffebfb7afb62, 0x0000000000000000, |
| 0xfffeffebfb7afb62, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_w_d((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| v4u64_op0 = (v4u64){0x01fe01ae00ff00ff, 0x00ff010000ff017e, |
| 0x01fe01ae00ff00ff, 0x00ff010000ff017e}; |
| v4u64_op1 = (v4u64){0x000000010000000a, 0x0000000a00000000, |
| 0x000000010000000a, 0x0000000a00000000}; |
| __m256i_result = (__m256i){0x00ff017e6b803fc0, 0x0000000000000000, |
| 0x00ff017e6b803fc0, 0x0000000000000000}; |
| __m256i_out = __lasx_xvsrln_w_d((__m256)v4u64_op0, (__m256)v4u64_op1); |
| check_lasx_out(&__m256i_result, &__m256i_out, sizeof(__m256i_out), __FILE__, __LINE__); |
| |
| return 0; |
| } |