blob: 41561fb234ae4304e0a4728da90b11e08dd306e3 [file] [log] [blame] [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};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x059a35ef139a8e00};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000001};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x8080808080808080, 0x8080808080808080};
v2u64_op1 = (v2u64){0x8080808080808080, 0x8080808080808080};
__m128i_result = (__m128i){0x4040404040404040, 0x4040404040404040};
__m128i_out = __lsx_vmuh_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0xc0c00c01c2cd0009, 0xc0c00000c0c00000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000800};
v2u64_op1 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff};
__m128i_result = (__m128i){0x0000000000000000, 0x000000000000ffff};
__m128i_out = __lsx_vmuh_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xc0fffff000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x00000000ffe00000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x00ff000000000001, 0xffffffff0000ac26};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffffff00ffff7e01, 0x000000ffffff81fe};
v2u64_op1 = (v2u64){0x000000fffe01fd02, 0x0000000000000000};
__m128i_result = (__m128i){0x0000ffff0000fe86, 0x0000000000000000};
__m128i_out = __lsx_vmuh_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x7f7f7f7f7f7f7f7f, 0x7f7f7f7f7f7f7f7f};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xff8000010f800000, 0x0000000000000000};
v2u64_op1 = (v2u64){0xff800000ff800000, 0xff800000ff800000};
__m128i_result = (__m128i){0x00000000fff80000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffffffff00000000, 0xffffffffffffffff};
v2u64_op1 = (v2u64){0xffffffff00000000, 0xffffffffffffffff};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x7ebdfffffddf3f40, 0xbf3efff536d5169b};
v2u64_op1 = (v2u64){0x7fff7fff7fff7fff, 0x0000000000000000};
__m128i_result = (__m128i){0x3f5ec0a0feefa0b0, 0x0000000000000000};
__m128i_out = __lsx_vmuh_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x7fffffff7ffffffe, 0x7fffffff7ffffffe};
v2u64_op1 = (v2u64){0x7fffffff7ffffffe, 0x7fffffff7ffffffe};
__m128i_result = (__m128i){0x3fffffff3ffffffe, 0x3fffffff3ffffffe};
__m128i_out = __lsx_vmuh_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x003f0000ffffffff, 0x003f0000ffffffff};
v2u64_op1 = (v2u64){0x7fffffffa0204000, 0x7fff0101ffffe000};
__m128i_result = (__m128i){0x001f7fff00000000, 0x001f7fc100000000};
__m128i_out = __lsx_vmuh_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x000000ff00000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffffffffffffffff, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000cd630000cd63, 0x0001000000010000};
v2u64_op1 = (v2u64){0xcd636363cd636363, 0xcd636363cd636363};
__m128i_result = (__m128i){0xffffd765ffffd765, 0xffffcd63ffffcd63};
__m128i_out = __lsx_vmuh_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffffffffffffffff, 0xffffffffffffffff};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x8000000000000000};
v2u64_op1 = (v2u64){0xffffffffffffffff, 0xff7fffffffffffff};
__m128i_result = (__m128i){0x0000000000000000, 0x0040000000000000};
__m128i_out = __lsx_vmuh_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffffff9ed2e1c000, 0x000015516a768038};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x007ffd0001400840, 0x8000000080000000};
v2u64_op1 = (v2u64){0x007ffd0001400840, 0x8000000080000000};
__m128i_result = (__m128i){0x00003ffd000a4000, 0x3fffffff80000000};
__m128i_out = __lsx_vmuh_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0032000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0032000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x000009c400000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0202fe02fd020102, 0x0002000200020002};
v2u64_op1 = (v2u64){0x00000000ffffffff, 0x0000000000000000};
__m128i_result = (__m128i){0x000000000202fe02, 0x0000000000000000};
__m128i_out = __lsx_vmuh_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0002000000000007, 0x0006000000040000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x00000000ffff0000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x6363636363636363, 0x0000000000000000};
__m128i_result = (__m128i){0x000000006362ffff, 0x0000000000000000};
__m128i_out = __lsx_vmuh_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0xffffffffffff0000, 0xffffffffffffffff};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000000, 0x0000000000000000};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmuh_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffff0000ffff0000, 0xffffffff00000000};
v2u64_op1 = (v2u64){0xffff0000ffff0000, 0xffffffff00000000};
__m128i_result = (__m128i){0x00000000fffe0002, 0x0000000000000001};
__m128i_out = __lsx_vmuh_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
return 0;
}