blob: 070de62610d995532701c1f63b5ae1259173e52e [file] [edit]
#include "lsx_test_util.h"
#include <lsxintrin.h>
int
main ()
{
__m128i __m128i_out, __m128i_result;
__m128 __m128_out, __m128_result;
__m128d __m128d_out, __m128d_result;
v2u64 v2u64_op0, v2u64_op1, v2u64_op2;
v4i32 v4i32_op0, v4i32_op1, v4i32_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;
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000007fff};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vbitsel_v((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op2 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vbitsel_v((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0505000005050505, 0x0000000005050000};
v2u64_op1 = (v2u64){0x0000001400140014, 0x000d02540000007e};
v2u64_op2 = (v2u64){0x03574e38e496cbc9, 0x0505050505050505};
__m128i_result = (__m128i){0x0400001001150404, 0x0005000400000004};
__m128i_out = __lsx_vbitsel_v((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0080001300000013, 0x0080001300000013};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0080001300000013, 0x0080001300000013};
__m128i_out = __lsx_vbitsel_v((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op2 = (v2u64){0x43d3e0000013e000, 0x43d3e0000013e000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vbitsel_v((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xfffe0001fffe0001, 0xfffe0001fffe0001};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op2 = (v2u64){0xfffe0001fffe0001, 0xfffe0001fffe0001};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vbitsel_v((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x1f5533a694f902c0, 0xfffffacdb6dbecac};
v2u64_op1 = (v2u64){0xf0bc9a5278285a4a, 0x62cbf96e4acfaf40};
v2u64_op2 = (v2u64){0x1f5533a694f902c0, 0xfffffacdb6dbecac};
__m128i_result = (__m128i){0x1014120210280240, 0x62cbf84c02cbac00};
__m128i_out = __lsx_vbitsel_v((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffffffffffffff59, 0xffffffffffffffff};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op2 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0xffffffffffffff59, 0xffffffffffffffff};
__m128i_out = __lsx_vbitsel_v((__m128)v2u64_op0, (__m128)v2u64_op1, (__m128)v2u64_op2);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
return 0;
}