blob: 433472af170e3bdef7daf12591352cf0e88c3c48 [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};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmul_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){0x0000000000000001, 0x0000000000000001};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmul_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000800800000, 0x0000000100000001};
v2u64_op1 = (v2u64){0x0000000800800000, 0x0000000100000001};
__m128i_result = (__m128i){0x0000004000000000, 0x0000000100000001};
__m128i_out = __lsx_vmul_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x00ff00ff00ff00ff, 0x007f008000ea007f};
v2u64_op1 = (v2u64){0xc000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmul_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xe8c7b756d76aa478, 0xc1bdceee242070db};
v2u64_op1 = (v2u64){0x0000000000000000, 0xffffffffffffffff};
__m128i_result = (__m128i){0x0000000000000000, 0x3f433212dce09025};
__m128i_out = __lsx_vmul_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0303030303030303, 0x0303030303030303};
v2u64_op1 = (v2u64){0x02f3030303030303, 0x0000000000000000};
__m128i_result = (__m128i){0x06d9090909090909, 0x0000000000000000};
__m128i_out = __lsx_vmul_b((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffffff0074230438, 0xfffffe003c1f0077};
v2u64_op1 = (v2u64){0x0000000100000001, 0x0000000000000000};
__m128i_result = (__m128i){0x0000ff0000000438, 0x0000000000000000};
__m128i_out = __lsx_vmul_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xff00ff00ff00ff00, 0xff00ff00ff00ff00};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmul_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffffffff5a6fe3d7, 0xeeb1e4f43c3763f3};
v2u64_op1 = (v2u64){0x0000718ea657431b, 0x0000000021e79364};
__m128i_result = (__m128i){0x00008e72b5b94cad, 0x000000006ca193ec};
__m128i_out = __lsx_vmul_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){0x467f6080467d607f, 0xffffe000ffffe000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmul_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_vmul_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xf359f359f359f359, 0xf359f359f359f359};
v2u64_op1 = (v2u64){0xf9796558e39953fd, 0xd3259a2984048c23};
__m128i_result = (__m128i){0x9611c3985b3159f5, 0x86dd8341b164f12b};
__m128i_out = __lsx_vmul_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, 0x317fce80317fce80};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmul_h((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x8064d8f6a494afcb, 0x54feed87bc3f2be1};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmul_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){0x1e801ffc7fc00000, 0x7fc000007fc00000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmul_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xfff5fff4002ffff5, 0x0001000000000000};
v2u64_op1 = (v2u64){0x18499e2cee2cc251, 0xaa858644fb8b3d49};
__m128i_result = (__m128i){0xaed495f03343a685, 0x8644000000000000};
__m128i_out = __lsx_vmul_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){0xffffffffffffffff, 0xffffffffffffffff};
__m128i_result = (__m128i){0x0000000100000001, 0x0000000100000001};
__m128i_out = __lsx_vmul_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_vmul_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xc000c000c000ff81, 0xffffffffffffffff};
v2u64_op1 = (v2u64){0x5d5d5d5d5d5d0000, 0x5d5d5d5d5d5d5d5d};
__m128i_result = (__m128i){0xc605c000aedd0000, 0xa2a2a2a3a2a2a2a3};
__m128i_out = __lsx_vmul_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xa91e2048938c40f0, 0xacc8c794af2caf01};
v2u64_op1 = (v2u64){0x0000000000000000, 0x0000000000000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmul_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){0xffffffff00000000, 0xffffffff00000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmul_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0000000000000040, 0x0000000000000040};
v2u64_op1 = (v2u64){0x0000000000000040, 0x0000000000000040};
__m128i_result = (__m128i){0x0000000000001000, 0x0000000000001000};
__m128i_out = __lsx_vmul_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0001fffc0001fffc, 0x0042003e0042002f};
v2u64_op1 = (v2u64){0xffffffffffffffff, 0x0000000000000000};
__m128i_result = (__m128i){0xfffe0004fffe0004, 0x0000000000000000};
__m128i_out = __lsx_vmul_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_vmul_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xffd27db010d20fbf, 0x6363636363636363};
v2u64_op1 = (v2u64){0xffd27db010d20fbf, 0x6363636363636363};
__m128i_result = (__m128i){0x12755900b653f081, 0x9727b8499727b849};
__m128i_out = __lsx_vmul_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x04ffff8101ff81ff, 0xffffff81ffff7f03};
v2u64_op1 = (v2u64){0x0a0000000a000000, 0x0a0000000a000000};
__m128i_result = (__m128i){0x0a000000f6000000, 0x0a0000001e000000};
__m128i_out = __lsx_vmul_w((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0x0100d6effefd0498, 0x7505443065413aed};
v2u64_op1 = (v2u64){0x0100d6effefd0498, 0x7505443065413aed};
__m128i_result = (__m128i){0x4e17c2ffb4851a40, 0xb71289fdfbea3f69};
__m128i_out = __lsx_vmul_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
v2u64_op0 = (v2u64){0xfe00fcfffe01fd01, 0xfc01fcfefc02fdf7};
v2u64_op1 = (v2u64){0xfe00fd1400010000, 0xfc01fd1300000001};
__m128i_result = (__m128i){0xca31bf15fd010000, 0xc72ef153fc02fdf7};
__m128i_out = __lsx_vmul_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){0x8000000080000000, 0x8000000080000000};
__m128i_result = (__m128i){0x0000000000000000, 0x0000000000000000};
__m128i_out = __lsx_vmul_d((__m128)v2u64_op0, (__m128)v2u64_op1);
check_lsx_out(&__m128i_result, &__m128i_out, sizeof(__m128i_out), __FILE__, __LINE__);
return 0;
}