4567 lines
252 KiB
Diff
4567 lines
252 KiB
Diff
|
|
From dcd9959504b5e8a0d9346d9ffb45542c1250c538 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Xiaolong Chen <chenxiaolong@loongson.cn>
|
||
|
|
Date: Tue, 12 Sep 2023 15:21:25 +0800
|
||
|
|
Subject: [PATCH 101/124] LoongArch: Add tests for ASX vector subtraction
|
||
|
|
instructions.
|
||
|
|
|
||
|
|
gcc/testsuite/ChangeLog:
|
||
|
|
|
||
|
|
* gcc.target/loongarch/vector/lasx/lasx-xvssub-1.c: New test.
|
||
|
|
* gcc.target/loongarch/vector/lasx/lasx-xvssub-2.c: New test.
|
||
|
|
* gcc.target/loongarch/vector/lasx/lasx-xvsub.c: New test.
|
||
|
|
* gcc.target/loongarch/vector/lasx/lasx-xvsubi.c: New test.
|
||
|
|
* gcc.target/loongarch/vector/lasx/lasx-xvsubwev-1.c: New test.
|
||
|
|
* gcc.target/loongarch/vector/lasx/lasx-xvsubwev-2.c: New test.
|
||
|
|
* gcc.target/loongarch/vector/lasx/lasx-xvsubwod-1.c: New test.
|
||
|
|
* gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c: New test.
|
||
|
|
|
||
|
|
Signed-off-by: Peng Fan <fanpeng@loongson.cn>
|
||
|
|
Signed-off-by: ticat_fp <fanpeng@loongson.cn>
|
||
|
|
---
|
||
|
|
.../loongarch/vector/lasx/lasx-xvssub-1.c | 425 +++++++++++
|
||
|
|
.../loongarch/vector/lasx/lasx-xvssub-2.c | 695 ++++++++++++++++++
|
||
|
|
.../loongarch/vector/lasx/lasx-xvsub.c | 590 +++++++++++++++
|
||
|
|
.../loongarch/vector/lasx/lasx-xvsubi.c | 482 ++++++++++++
|
||
|
|
.../loongarch/vector/lasx/lasx-xvsubwev-1.c | 530 +++++++++++++
|
||
|
|
.../loongarch/vector/lasx/lasx-xvsubwev-2.c | 440 +++++++++++
|
||
|
|
.../loongarch/vector/lasx/lasx-xvsubwod-1.c | 695 ++++++++++++++++++
|
||
|
|
.../loongarch/vector/lasx/lasx-xvsubwod-2.c | 620 ++++++++++++++++
|
||
|
|
8 files changed, 4477 insertions(+)
|
||
|
|
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-1.c
|
||
|
|
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-2.c
|
||
|
|
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsub.c
|
||
|
|
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubi.c
|
||
|
|
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-1.c
|
||
|
|
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-2.c
|
||
|
|
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-1.c
|
||
|
|
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c
|
||
|
|
|
||
|
|
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-1.c
|
||
|
|
new file mode 100644
|
||
|
|
index 000000000..ada72a16a
|
||
|
|
--- /dev/null
|
||
|
|
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-1.c
|
||
|
|
@@ -0,0 +1,425 @@
|
||
|
|
+/* { dg-do run } */
|
||
|
|
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
|
||
|
|
+#include "../simd_correctness_check.h"
|
||
|
|
+#include <lasxintrin.h>
|
||
|
|
+
|
||
|
|
+int
|
||
|
|
+main ()
|
||
|
|
+{
|
||
|
|
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
|
||
|
|
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
|
||
|
|
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
|
||
|
|
+
|
||
|
|
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
|
||
|
|
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
|
||
|
|
+ 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;
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000001dc;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000000001dc;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff24;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ff24;
|
||
|
|
+ __m256i_out = __lasx_xvssub_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x2020202020202020;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x2020202020202020;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x2020202020202020;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x2020202020202020;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x2020202020202020;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x2020202020202020;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x2020202020202020;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x2020202020202020;
|
||
|
|
+ __m256i_out = __lasx_xvssub_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000430207f944;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000430207f944;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x000000bdfef907bc;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x000000bdfef907bc;
|
||
|
|
+ __m256i_out = __lasx_xvssub_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000010101010101;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101000000010000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000010101010101;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101000000010000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000010101010101;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101000000010000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000010101010101;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101000000010000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000080;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000040;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff80;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffc0;
|
||
|
|
+ __m256i_out = __lasx_xvssub_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x2b2b2b2b1bd68080;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x2a2ad4d4f2d8807e;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x2b2b2b2b1bd68080;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x2a2ad4d4f2d8807e;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xd4d5d4d5e42a7f80;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xd5d62b2c0d287f82;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xd4d5d4d5e42a7f80;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xd5d62b2c0d287f82;
|
||
|
|
+ __m256i_out = __lasx_xvssub_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000080000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000080000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffff07b4ffff0707;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000b8070000a787;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffff07b4ffff0707;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000b8070000a787;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000504fffff3271;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff47b4ffff5879;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000504fffff3271;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff47b4ffff5879;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffb7650000d496;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0001800000018000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffb7650000d496;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0001800000018000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000fc300000fc40;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000fc300000fc40;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff000003c0;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff000003c0;
|
||
|
|
+ __m256i_out = __lasx_xvssub_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xff81001dff9dff9e;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xff81001dff9d003b;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xff81001dff9dff9e;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xff81001dff9d003b;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xff81001dff9dff9e;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xff81001dff9d003b;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xff81001dff9dff9e;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xff81001dff9d003b;
|
||
|
|
+ __m256i_out = __lasx_xvssub_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00ff00ff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff00ff00ff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00ff00ff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00ff00ff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000001fffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000001fffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000001fffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000001fffe;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00fd0101;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff00fd0101;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00fd0101;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff00fd0101;
|
||
|
|
+ __m256i_out = __lasx_xvssub_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
|
||
|
|
+ __m256i_out = __lasx_xvssub_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x40f69fe73c26f4ee;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff8000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x40f69fe73c26f4ee;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff8000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000001fffffff9;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000001fffffff9;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000001fffffff9;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000001fffffff9;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x40f69fe63c26f4f5;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x7ff7ffff00000007;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x40f69fe63c26f4f5;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x7ff7ffff00000007;
|
||
|
|
+ __m256i_out = __lasx_xvssub_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffff00ffff8000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffff00ffff8000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x000000ff00007fff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x000000ff00007fff;
|
||
|
|
+ __m256i_out = __lasx_xvssub_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xfc00000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xfc00000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfc00000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfc00000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000001010800;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000001010800;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffefef800;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffefef800;
|
||
|
|
+ __m256i_out = __lasx_xvssub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x007f0000007f0060;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x007f0000007f0060;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x007f0000007f0060;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x007f0000007f0060;
|
||
|
|
+ __m256i_out = __lasx_xvssub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x4393a0a5bc606060;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x43b32feea9000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x4393a0a5bc606060;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x43b32feea9000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x3eab77367fff4848;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x408480007fff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x3eab77367fff4848;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x408480007fff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x04e8296f3c611818;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x032eafee29010000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x04e8296f3c611818;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x032eafee29010000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001ff91ff100000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001ff91ff100000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000800080;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000202;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000800080;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000202;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffffff7fff80;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0001ff91ff0ffdfe;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffffff7fff80;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0001ff91ff0ffdfe;
|
||
|
|
+ __m256i_out = __lasx_xvssub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000ff000000ff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000ff000000ff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x7fffffff80000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x7fffffff80000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
|
||
|
|
+ __m256i_out = __lasx_xvssub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ return 0;
|
||
|
|
+}
|
||
|
|
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-2.c
|
||
|
|
new file mode 100644
|
||
|
|
index 000000000..f42523850
|
||
|
|
--- /dev/null
|
||
|
|
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-2.c
|
||
|
|
@@ -0,0 +1,695 @@
|
||
|
|
+/* { dg-do run } */
|
||
|
|
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
|
||
|
|
+#include "../simd_correctness_check.h"
|
||
|
|
+#include <lasxintrin.h>
|
||
|
|
+
|
||
|
|
+int
|
||
|
|
+main ()
|
||
|
|
+{
|
||
|
|
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
|
||
|
|
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
|
||
|
|
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
|
||
|
|
+
|
||
|
|
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
|
||
|
|
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
|
||
|
|
+ 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;
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00000007;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000e7;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00000007;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000007;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00000007;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000e7;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00000007;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000007;
|
||
|
|
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xf7fdd5ffebe1c9e3;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xf7fdd5ffebe1c9e3;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000002467db99;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000003e143852;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000002467db99;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000003e143852;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffdb982466;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xf7fdd5ffadcd9191;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffdb982466;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xf7fdd5ffadcd9191;
|
||
|
|
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fefffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fefffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x00ff00fe00ff00fe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x00ff00fe00ff00fe;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x7fef0000ffff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x7fef0000ffff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000420080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x5fff5fff607f0000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000420080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x5fff5fff607f0000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffff8000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffff8000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000f880f87e;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000008000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000f880f87e;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000008000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffff0000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
|
||
|
|
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000002;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000002;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000002;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000008050501;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0100000100000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000008050501;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0100000100000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffe00000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0010511c54440438;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffe00000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0010511c54440438;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000030b8;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000030b8;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000030b8;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000030b8;
|
||
|
|
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xff1cff1cff1cff1c;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xff1cff1cff1cff1c;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xff1cff1cff1cff1c;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xff1cff1cff1cff1c;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xff1cff1cff1cff1c;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xff1cff1cff1cff1c;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xff1cff1cff1cff1c;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xff1cff1cff1cff1c;
|
||
|
|
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000040;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100002000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000808000008080;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000808000008081;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x000003ff000003ff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x000003ff000003ff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffec;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffec;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x000003ff000003ff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x000003ff000003ff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x3fff3fff3fff3fff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000003fff3fff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x3fff3fff3fff4000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000403f3fff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0707feb60707b7d0;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x45baa7ef6a95a985;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0707feb60707b7d0;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x45baa7ef6a95a985;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x38f7414938f7882f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x38f7414938f78830;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffe00000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffe0001fffe0003;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffe0001fffe0003;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffe0001fffe0003;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffe00000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000f0f0f0ef;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xf0f0f0f0f0f0f0ef;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000f0f0f0ef;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xf0f0f0f0f0f0f0ef;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000180007f7f;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffafaf80000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000180007f7f;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffafaf80000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000070f07170;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000070f0f0ef;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000070f07170;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000070f0f0ef;
|
||
|
|
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fefffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fefffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x7fefffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x7fefffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000080;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000032;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x000003c000000032;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000004e;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000ff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000ff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x000000ff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00ffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x000000ff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00ffffffffffffff;
|
||
|
|
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x1000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x1000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0010100000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0010100000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0feff00000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0feff00000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x247fe49409620040;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x2475cef801f0ffdd;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x6580668200fe0002;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x419cd5b11c3c5654;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
|
||
|
|
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x1010100fefefeff0;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0f8f0e8df676f778;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0020000000200000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0020000000200000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffdfffffffdfffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffdfffffffdfffff;
|
||
|
|
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0100000001000100;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0100000001000100;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffe8ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffe8ffffffe8;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffe8ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffe8ffffffe8;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000c0000005;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x21f8c3c4c0000005;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000c0000005;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x21f8c3c4c0000005;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
|
||
|
|
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ return 0;
|
||
|
|
+}
|
||
|
|
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsub.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsub.c
|
||
|
|
new file mode 100644
|
||
|
|
index 000000000..c1de1e8d3
|
||
|
|
--- /dev/null
|
||
|
|
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsub.c
|
||
|
|
@@ -0,0 +1,590 @@
|
||
|
|
+/* { dg-do run } */
|
||
|
|
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
|
||
|
|
+#include "../simd_correctness_check.h"
|
||
|
|
+#include <lasxintrin.h>
|
||
|
|
+
|
||
|
|
+int
|
||
|
|
+main ()
|
||
|
|
+{
|
||
|
|
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
|
||
|
|
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
|
||
|
|
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
|
||
|
|
+
|
||
|
|
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
|
||
|
|
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
|
||
|
|
+ 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;
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000009;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000009;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000009;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000009;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000009;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000009;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000009;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000009;
|
||
|
|
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000010100000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000010100000000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffbe20fc;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000001cc7ee87;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000010bb83239;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000c409ed87;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xff00fe00feff02ff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xff00fe00feff02ff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xff00fe00feff02ff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xff00fe00feff02ff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0100020001bf1efd;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x010002001ec8ec88;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x010002010db9303a;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x01000200c60aeb88;
|
||
|
|
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
|
||
|
|
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101010200000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101010200000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010200000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0101010200000000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000007e1c7e1c;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x7e00000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000007e1c7e1c;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x7e00000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x000000007e1c7e1c;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x7e00000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x000000007e1c7e1c;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x7e00000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000040004000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000004000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000040004000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000004000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0100010001000100;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x01ffff4300ffff00;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0100010001000100;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x01ffff4300ffff00;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xff00ff003f003f00;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xff0101fd00010100;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xff00ff003f003f00;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xff0101fd00010100;
|
||
|
|
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00000007;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000000e7;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x00ff00ff00000007;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000007;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xff01ff010000fff9;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff19;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xff02ff020001fffa;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x000100010001fffa;
|
||
|
|
+ __m256i_out = __lasx_xvsub_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x43d03bfff827ea21;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x43dac1f2a3804ff0;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x43d03bfff827e9f9;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x43e019c657c7d050;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xbc30c40107d915df;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xbc263e0e5c80b010;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xbc30c40107d91607;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xbc20e63aa8392fb0;
|
||
|
|
+ __m256i_out = __lasx_xvsub_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xff21c241ff21c241;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xff21c241ff21c241;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xff21c241ff21c241;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xff21c241ff21c241;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000009;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000009;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xff21c241ff21c241;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xff21c241ff21c238;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xff21c241ff21c241;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xff21c241ff21c238;
|
||
|
|
+ __m256i_out = __lasx_xvsub_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0808080808080808;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0808080808080808;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xf7f8f7f8f7f8f7f8;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xf7f8f7f8f7f8f7f8;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000e000e000e;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000e0000000d;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000e000e000e;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000e0000000d;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000e000e000e;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000e0000000d;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000e000e000e;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000e0000000d;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x207f207f207f2000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x7f7f7f7f7f7f7f7f;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000207f2000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x7f7f7f7f7f7f7f7f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xdf80df80df80dfff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x8080808080808080;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffdf80dfff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x8080808080808080;
|
||
|
|
+ __m256i_out = __lasx_xvsub_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xc5c5c5c4c5c5c5c4;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x45c5c5c545c5c5c5;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xc5c5c5c4c5c5c5c4;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x45c5c5c545c5c5c5;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xc5c5c5c5c5c5c5c5;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x45c5c5c645c5c5c6;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xc5c5c5c5c5c5c5c5;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x45c5c5c645c5c5c6;
|
||
|
|
+ __m256i_out = __lasx_xvsub_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x1f0fdf7f3e3b31d4;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x7ff8000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x1f0fdf7f3e3b31d4;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x7ff8000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xe0f02081c1c4ce2c;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x8008000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xe0f02081c1c4ce2c;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x8008000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xff3eff3eff3eff3e;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xff3eff3eff3eff3e;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xff3eff3eff3eff3e;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xff3eff3eff3eff3e;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
|
||
|
|
+ __m256i_out = __lasx_xvsub_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000001c9880;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000001c9880;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffe36780;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000100000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffe36780;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000100000001;
|
||
|
|
+ __m256i_out = __lasx_xvsub_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00b213171dff0606;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00e9a80014ff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x00b213171dff0606;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x00e9a80014ff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00b213181dff0607;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00e9a80114ff0001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00b213181dff0607;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00e9a80114ff0001;
|
||
|
|
+ __m256i_out = __lasx_xvsub_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000fdfdfe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001fffe0001fffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001fffe00010000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x7ffe0001fffe0001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x7ffe0001fffeffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000fdfdfe;
|
||
|
|
+ __m256i_out = __lasx_xvsub_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffff90ffffff80;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffff90ffffff80;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x8000006f0000007f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x8000006f0000007f;
|
||
|
|
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x7f7f7f7f7f7f7f7f;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x7f7f7f7f7f7f7f7f;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x8080808080808081;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x8080808080808081;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00ff00ff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff017e01fe;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x017e00ff017e00ff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff017e01fe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xe1616161e1614e60;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xe1616161e1614e60;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xe1616161e1614e60;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xe1616161e1614e60;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x1f9d9f9d1f9db29f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x1f9d9f9d201cb39e;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x201c9f9d201cb29f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x1f9d9f9d201cb39e;
|
||
|
|
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffeffebfb7afb62;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffeffebfb7afb62;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xbff0000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xc192181230000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xbff0000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xc192181230000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x4010000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x3e6ce7d9cb7afb62;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x4010000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x3e6ce7d9cb7afb62;
|
||
|
|
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00000000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000013;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000013;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000013;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000013;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffed;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffed;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffed;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffed;
|
||
|
|
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0fffffff0fffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0fffffff0fffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0fffffff0fffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fff7fff7fff7fff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000007fff7fff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0fffffff0fffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x90007fff90008000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0ffffffe90008000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
|
||
|
|
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x7fffffff80000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x7fffffff80000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x7fffffff80000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x7fffffff80000000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x05ea05ea05ea05ec;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x05ea05ea05ea05ec;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfa15fa15fa15fa14;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfa15fa15fa15fa14;
|
||
|
|
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsub_q (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0505070804040404;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0504070804040404;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0505070804040404;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0504070804040404;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ff000000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000ff000000ff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ff000000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000ff000000ff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0504080804030405;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0504060904040305;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0504080804030405;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0504060904040305;
|
||
|
|
+ __m256i_out = __lasx_xvsub_q (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000fff8fff8;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ff00fff8ffc0;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000fff8fff8;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ff00fff8ffc0;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000fff8ff40;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ff0100090040;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000fff8ff40;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ff0100090040;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000000000b7;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffefff80;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000000000b7;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffefff80;
|
||
|
|
+ __m256i_out = __lasx_xvsub_q (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ return 0;
|
||
|
|
+}
|
||
|
|
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubi.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubi.c
|
||
|
|
new file mode 100644
|
||
|
|
index 000000000..a3c0de6d3
|
||
|
|
--- /dev/null
|
||
|
|
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubi.c
|
||
|
|
@@ -0,0 +1,482 @@
|
||
|
|
+/* { dg-do run } */
|
||
|
|
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
|
||
|
|
+#include "../simd_correctness_check.h"
|
||
|
|
+#include <lasxintrin.h>
|
||
|
|
+
|
||
|
|
+int
|
||
|
|
+main ()
|
||
|
|
+{
|
||
|
|
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
|
||
|
|
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
|
||
|
|
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
|
||
|
|
+
|
||
|
|
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
|
||
|
|
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
|
||
|
|
+ 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;
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xe9e9e9e9e9e9e9e9;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xe9e9e9e9e9e9e9e9;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xe9e9e9e9e9e9e9e9;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xe9e9e9e9e9e9e9e9;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x17);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00000007;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000e7;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00000007;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000007;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xf9f8f9f8f9f9f900;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xf9f9f9f9f9f9f9e0;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xf9f8f9f8f9f9f900;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xf9f9f9f9f9f9f900;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x7);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000007f;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xefefefefefefefef;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xefefefefefefefef;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xefefefefefefef6e;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xeeeeeeeeeeeeeeee;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x11);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xebebebebebebebeb;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x6aeaeaeaeaeaeaea;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xebebebebebebebeb;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x6aeaeaeaeaeaeaea;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x15);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xf6f6f6f6f6f6f6f6;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xf6f6f6f6f6f6f6f6;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xf6f6f6f6f6f6f6f6;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xf6f6f6f6f6f6f6f6;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0xa);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000002a54290;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000002a54290;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000002a54290;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000002a54290;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x0);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xe7e7e7e7e7e7e7e7;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xe7e7e7e7e7e7e7e7;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xe7e7e7e7e7e7e7e7;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xe7e7e7e7e7e7e7e7;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x19);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xefdfefdf00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xefdfefdfefdfefdf;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xefdfefdf00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xefdfefdfefdfefdf;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xdbcbdbcbecececec;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xdbcbdbcbdbcbdbcb;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xdbcbdbcbecececec;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xdbcbdbcbdbcbdbcb;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x14);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0e0d0c0b0e0d0c0b;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0e0d0c0b0e0d0c0b;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0e0d0c0b0e0d0c0b;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0e0d0c0b0e0d0c0b;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0a0908070a090807;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0a0908070a090807;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0a0908070a090807;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0a0908070a090807;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x4);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xf9f9f9f9f9f9f9f9;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xf9f9f9f9f9f9f9f9;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xf9f9f9f9f9f9f9f9;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xf9f9f9f9f9f9f9f9;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x7);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xf3f3f3f3f3f3f3f3;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xf2f2f2f2f2f2f2f2;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xf3f3f3f3f3f3f3f3;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xf2f2f2f2f2f2f2f2;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0xd);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xebebebebebebebeb;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xebebebebebebebeb;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xebebebebebebebeb;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xebebebebebebebeb;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x14);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfefefefefefefefe;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfefefefefdfdfdfd;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfefefefefefefefe;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfefefefefdfdfdfd;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x2);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xe4e4e4e4e4e4e4e4;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xe4e4e4e4e4e4e4e4;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xe4e4e4e4e4e4e4e4;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xe4e4e4e4e4e4e4e4;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x1c);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfff7fff7fff7fff7;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfff7fff7fff7fff7;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfff7fff7fff7fff7;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfff7fff7fff7fff7;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_hu (__m256i_op0, 0x9);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000022be22be;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fffa2bea2be;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000022be22be;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fffa2bea2be;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffe1ffe1229f229f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x7fe07fe0a29fa29f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffe1ffe1229f229f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x7fe07fe0a29fa29f;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_hu (__m256i_op0, 0x1f);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffe5ffe5ffe5ffe5;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffe5ffe5ffe5ffe5;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffe5ffe5ffe5ffe5;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffe5ffe5ffe5ffe5;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_hu (__m256i_op0, 0x1b);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfff1fff1fff1fff1;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfff1fff1fff1fff1;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfff1fff1fff1fff1;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfff1fff1fff1fff1;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_hu (__m256i_op0, 0xf);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfffcfffcfffcfffc;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfffcfffcfffcfffc;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfffcfffcfffcfffc;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffcfffcfffcfffc;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_hu (__m256i_op0, 0x4);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000004fb;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffefffffffef;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffef000004ea;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffefffffffef;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffefffffffef;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x11);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffecffffffec;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffecffffffec;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffecffffffec;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffecffffffec;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x14);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000018;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000018;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffff30000000b;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffff3fffffff3;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffff30000000b;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffff3fffffff3;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0xd);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffff5fffffff5;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffff5fffffff5;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffff5fffffff5;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffff5fffffff5;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0xb);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffe5ffffffe5;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffe5ffffffe5;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffe5ffffffe5;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffe5ffffffe5;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x1a);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffeaffffffea;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffeaffffffea;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffeaffffffea;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffeaffffffea;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x16);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x5d20a0a15d20a0a1;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x5d20a0a15d20a0a1;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x5d20a0895d20a089;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffe8ffffffe8;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x5d20a0895d20a089;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffe8ffffffe8;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x18);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffe8ffffffe8;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffe8ffffffe8;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffe8ffffffe8;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffe8ffffffe8;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x18);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffcfffffffc;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffcfffffffc;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffcfffffffc;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffcfffffffc;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x4);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffeb683007ffd80;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffe97c0df5b41cf;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffeb683007ffd80;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffe97c0df5b41cf;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfffeb664007ffd61;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfffe97a1df5b41b0;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfffeb664007ffd61;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffe97a1df5b41b0;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x1f);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffe7ffffffe7;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffe7ffffffe7;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffe7ffffffe7;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffe7ffffffe7;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x19);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000400000003ffb;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000400100004001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000400000003ffb;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000400100004001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00003fef00003fea;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00003ff000003ff0;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00003fef00003fea;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00003ff000003ff0;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x11);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffe4ffffffe4;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffe4ffffffe4;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffe4ffffffe4;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffe4ffffffe4;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x1c);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffefe;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000101;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffefe;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000101;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffefb;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000fe;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffefb;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000000fe;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0x3);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffffc0008001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffffc0008001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffffc0008001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffffc0008001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffffc0007fe9;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffffc0007fe9;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffffc0007fe9;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffffc0007fe9;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0x18);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffff6;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffff6;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffff6;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffff6;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0xa);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffee;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffee;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffee;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffee;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0x12);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffe6;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffe6;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffe6;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffe6;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0x1a);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffe1;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffe1;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffe1;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffe1;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0x1f);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000080;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000100080;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000080;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000100080;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000006d;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000010006d;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000006d;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000010006d;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0x13);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffef;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffee;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffef;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffee;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0x11);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffff4;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffff4;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffff4;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffff4;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0xc);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffed;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffed;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffed;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffed;
|
||
|
|
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0x13);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ return 0;
|
||
|
|
+}
|
||
|
|
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-1.c
|
||
|
|
new file mode 100644
|
||
|
|
index 000000000..caa72ca61
|
||
|
|
--- /dev/null
|
||
|
|
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-1.c
|
||
|
|
@@ -0,0 +1,530 @@
|
||
|
|
+/* { dg-do run } */
|
||
|
|
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
|
||
|
|
+#include "../simd_correctness_check.h"
|
||
|
|
+#include <lasxintrin.h>
|
||
|
|
+
|
||
|
|
+int
|
||
|
|
+main ()
|
||
|
|
+{
|
||
|
|
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
|
||
|
|
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
|
||
|
|
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
|
||
|
|
+
|
||
|
|
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
|
||
|
|
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
|
||
|
|
+ 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;
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x3fff3fff3fff3fff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000003fff3fff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x3fff3fff3fff3fff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000003fff3fff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000003f0000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000030007;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000003f0000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000030007;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000003f0000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000030007;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000003f0000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000030007;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000504fffff3271;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff47b4ffff5879;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000504fffff3271;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff47b4ffff5879;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffb10001ff8f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0001004c0001ff87;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffb10001ff8f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0001004c0001ff87;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000008;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000008;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffff7;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffff7;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ff02ff80fede;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ff02ff80fede;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000fffe00800022;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000fffe00800022;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000040;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000100040;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000040;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000100040;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000ffc0;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000fff0ffc0;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffc0;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000fff0ffc0;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000001010000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000001010000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffff0000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fff00017fff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff00017fff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fff00017fff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff00017fff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffe4ffffffe4;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffe4ffffffe4;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffe4ffffffe4;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffe4ffffffe4;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000001d0000001c;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001d0000001c;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000001d0000001c;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001d0000001c;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffff000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffff000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000010000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000010000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffeff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffeff00000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffefd;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0101010101010101;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010203;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0101010101010101;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffefefffffefe;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffefefffffcfa;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffefefffffefe;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffefefffffefe;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000600000006;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000600000006;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000600000006;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000600000006;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000600000006;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000600000006;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000600000006;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000600000006;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xbff0000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xbff0000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xbff0000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xbff0000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000102;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000fffffffefe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffefd;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000101;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000003f;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000003f;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000003f;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000003f;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000000003f;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000003f;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000000003f;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000003f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xf7f7f7f7f7f7f7f7;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xf7f7f7f7f7f7f7f7;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xf7f7f7f7f7f7f7f7;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xf7f7f7f7f7f7f7f7;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000008080809;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000008080809;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000008080809;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000008080809;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000300000003;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000300000003;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000300000003;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000300000003;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffffd;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffffd;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffffd;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffffd;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xff1cff1cff1cff1c;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xff1cff1cff1cff1c;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xff1cff1cff1cff1c;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xff1cff1cff1cff1c;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000400000004;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000400000004;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffff1cff1c;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffff1cff18;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffff1cff1c;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffff1cff18;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000001400;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000003c01ff9;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000003c01ff9;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffec00;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffc3fe007;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffc3fe007;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff0000ffff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff0000ffff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00010000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00010000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_q_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffefefffffefe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffefefffffefe;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000010100000102;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000010100000102;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_q_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_q_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x007fffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x007fffff007fffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x007fffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x007fffff007fffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x00c200c200c200c2;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x00c200c200c200bb;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x00c200c200c200c2;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x00c200c200c200bb;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffbdff3cffbdff44;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffbdff3cffbdff44;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_q_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_q_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_q_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ return 0;
|
||
|
|
+}
|
||
|
|
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-2.c
|
||
|
|
new file mode 100644
|
||
|
|
index 000000000..57d883c04
|
||
|
|
--- /dev/null
|
||
|
|
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-2.c
|
||
|
|
@@ -0,0 +1,440 @@
|
||
|
|
+/* { dg-do run } */
|
||
|
|
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
|
||
|
|
+#include "../simd_correctness_check.h"
|
||
|
|
+#include <lasxintrin.h>
|
||
|
|
+
|
||
|
|
+int
|
||
|
|
+main ()
|
||
|
|
+{
|
||
|
|
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
|
||
|
|
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
|
||
|
|
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
|
||
|
|
+
|
||
|
|
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
|
||
|
|
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
|
||
|
|
+ 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;
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000017;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000001700170017;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000017;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000001700170017;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000017;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000001700170017;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000017;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000001700170017;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00007f7f00007f7f;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00007f7f00007f7f;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x00007f7f00007f7f;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x00007f7f00007f7f;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000007f0000007f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000007f0000007f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xff01ff80ff01ff80;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xff01ff800000007e;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x2020202020202020;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x2020202020206431;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x2020202020202020;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x2020202020206431;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0043030300400300;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0043030300400300;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0043030300400100;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0043030300400100;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffdd001dffe00020;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffdd001dffe00031;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffdd001dffe00020;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffdd001dffe00031;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffe20001dfe1f;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffe20001dfe1f;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000001ffe2000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x001fe020001fe020;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000001ffe2000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x001fe020001fe020;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff0020ff1f001f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffe1ffe0ffe1ffe0;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff0020ff1f001f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffe1ffe0ffe1ffe0;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffee00ba;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffee00ba;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000800080008000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x80008000fff98000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000800080008000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x80008000fff98000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00fffff500ba;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff00fffff500ba;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000004efffe00;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000047000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000004efffe00;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000047000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ff0100ff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff01;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ff0100ff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ff01;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xff01ff01ff01ff01;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xff01ff01ff01ff01;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xff01ff01ff01ff01;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xff01ff01ff01ff01;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_w_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffcfffcfffcfffc;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffcfffcfffcfffc;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000fffc0000fffc;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000fffc0000fffc;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_w_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001504f4c4b2361;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x303338a48f374969;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001504f4c4b2361;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x303338a48f374969;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000f0f0f0f0;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xf0f0f0f0f0f0f0f0;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000f0f0f0f0;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xf0f0f0f0f0f0f0f0;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000504fffff3271;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffff47b4ffff5879;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000504fffff3271;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffff47b4ffff5879;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_w_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff0000ffff0001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff0000ffff0001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff0000ffff0001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff0000ffff0001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_w_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000f0;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000f0;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x4000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x4000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x4000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x4000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000f0;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000000000f0;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_w_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_w_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffefffffefc;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffffffff8;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffffffbf4;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffffffc;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffffc;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000006;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000308;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000002;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000010100000102;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000010100000102;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000fffffefd;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000fffffefd;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff8c80;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000fffffe40;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x80000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x80000000ffff8c80;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x80000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x80000000fff0e400;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000f1a40;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000003effe1;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000003effe1;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000003effe1;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000003effe1;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001fffe0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001fffe00010001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001fffe0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001fffe00010001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001fffe0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001fffe00010001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001fffe0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001fffe00010001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000008;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000008;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000fffffff7;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000fffffff7;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000000fffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000fffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000000fffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000fffe;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffff0002;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffff0002;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffff0002;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffff0002;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffff0000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_q_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_q_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x5d20a0a15d20a0a1;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x5d20a0a15d20a0a1;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_q_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffff00ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000010000000001;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_q_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x1c1c1c1c1c1c1c1c;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffeffffff00;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x1c1c1c1c1c1c1c1c;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffeffffff00;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000100;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000100;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_q_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0040000000000003;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000003;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0040000000000003;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000003;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000002;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
|
||
|
|
+ __m256i_out = __lasx_xvsubwev_q_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ return 0;
|
||
|
|
+}
|
||
|
|
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-1.c
|
||
|
|
new file mode 100644
|
||
|
|
index 000000000..1687729d3
|
||
|
|
--- /dev/null
|
||
|
|
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-1.c
|
||
|
|
@@ -0,0 +1,695 @@
|
||
|
|
+/* { dg-do run } */
|
||
|
|
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
|
||
|
|
+#include "../simd_correctness_check.h"
|
||
|
|
+#include <lasxintrin.h>
|
||
|
|
+
|
||
|
|
+int
|
||
|
|
+main ()
|
||
|
|
+{
|
||
|
|
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
|
||
|
|
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
|
||
|
|
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
|
||
|
|
+
|
||
|
|
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
|
||
|
|
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
|
||
|
|
+ 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;
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000001000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000001000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000001000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000001000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x1c1b1a191c1b1a19;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x1c1b1a191c1b1a19;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x1c1b1a191c1b1a19;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x1c1b1a191c1b1a19;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffe4ffe6ffe5ffe6;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffe4ffe6ffe5ffe6;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffe4ffe6ffe5ffe6;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffe4ffe6ffe5ffe6;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000010001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000010001;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000fffffffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000fffffffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000fffffffe;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x017e01fe01fe01fe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0586060601fe0202;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x017e01fe01fe0000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0586060601fe0004;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfffbfffafffffffe;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffbfffaffff0000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xefdfefdf00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xefdfefdfefdfefdf;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xefdfefdf00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xefdfefdfefdfefdf;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffefffef00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffefffefffefffef;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffefffef00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffefffefffefffef;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xff00ff00ff00ff00;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xff00ff00ff00ff00;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000003ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffff01;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000200000002;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000200000002;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000004000000040;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000004000000040;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffff90ffffff80;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffff90ffffff80;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffff6;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffff6;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffff6;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffff6;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000004000000040;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000004000000040;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000004000000040;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000004000000040;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000007fffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000007fffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000007fffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000007fffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffe00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffe00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100008000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100007fff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100008000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100007fff;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000080000009;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x43ef878780000009;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000080000009;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x43ef878780000009;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffff8000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x000043efffff8000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffff8000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x000043efffff8000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x003f60041f636003;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x003f60041f636003;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000003f00001f63;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000003f00001f63;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000400080ffc080;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000400080ffc080;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff80ff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffff80ff;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000b7;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffefff80;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000b7;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffefff80;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xff800000ff800000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xc3030000ff800000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xff800000ff800000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xc3030000ff800000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000008000000080;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00003cfc0000006f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000008000000080;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00003cfc0000006f;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffff6361;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x4d0a902890b800dc;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffff6361;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x4d0a902890b800dc;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffb2f600006f48;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffb2f600006f48;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001fffe0001fffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001fffe0001fffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000001fffe;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000001fffe;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0006000000040000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0006000000040000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000060000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000060000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000000017e;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000017e;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000000017e;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000017e;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x2020202020202020;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x2020202020202020;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x2020202020202020;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x2020202020202020;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000020202020;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000020202020;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000020202020;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000020202020;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000010001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000fff8ff40;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ff0100090040;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000fff8ff40;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ff0100090040;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000000000b7;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffefff80;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000000000b7;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffefff80;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff02;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ff02;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000005ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000700000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000005ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000700000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000005ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000700000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000005ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000700000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000020000000200;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000020000000200;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000020000000200;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000020000000200;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffe00;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffe00;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffe00;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffe00;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x1e17ffffd0fc6772;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x1e17ffffebf6ded2;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x1e17ffffd0fc6772;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x1e17ffffebf6ded2;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xe1e800002f03988d;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xe1e800002f03988d;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x9cffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x9cffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x6300000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x6300000000000001;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0808080808080808;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0808080808080808;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000808;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xf7f7f7f7f7f7f7f8;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xfff1fff1fff1fff1;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xfff1fff1fff1fff1;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xfff1fff1fff1fff1;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xfff1fff1fff1fff1;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x000e000e000e000e;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x000e000e000e000e;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0a0a000000000a0a;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0a0a0a0a00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0a0a000000000a0a;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0a0a0a0a00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0a0a000000000a0a;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0a0a000000000a0a;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_d (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ return 0;
|
||
|
|
+}
|
||
|
|
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c
|
||
|
|
new file mode 100644
|
||
|
|
index 000000000..8d6ed92a1
|
||
|
|
--- /dev/null
|
||
|
|
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c
|
||
|
|
@@ -0,0 +1,620 @@
|
||
|
|
+/* { dg-do run } */
|
||
|
|
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
|
||
|
|
+#include "../simd_correctness_check.h"
|
||
|
|
+#include <lasxintrin.h>
|
||
|
|
+
|
||
|
|
+int
|
||
|
|
+main ()
|
||
|
|
+{
|
||
|
|
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
|
||
|
|
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
|
||
|
|
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
|
||
|
|
+
|
||
|
|
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
|
||
|
|
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
|
||
|
|
+ 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;
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xfff6fff6fff6fff6;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xfff6fff6fff6fff6;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xfff6fff6fff6fff6;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xfff6fff6fff6fff6;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xff01ff01ff01ff01;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xff01ff01ff01ff01;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xff01ff01ff01ff01;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xff01ff01ff01ff01;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000020001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffcc8000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000007dfdff4b;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xff01ff3400000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ff83ff01;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000080;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000080;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000080;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000080;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000004000000040;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000004000000040;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000004000000040;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000004000000040;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ff010000ff01;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ff010000ff01;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ff010000ff01;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ff010000ff01;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xefdfefdf00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xefdfefdfefdfefdf;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xefdfefdf00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xefdfefdfefdfefdf;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xfff0fff0ff01ff01;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfff0fff0fff0fff0;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfff0fff0ff01ff01;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfff0fff0fff0fff0;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001fffe0001fffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001fffe0001fffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001fffe0001fffe;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001fffe0001fffe;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000ff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000ff0000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xdf80df80df80df80;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xdfc2df80df80df87;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xdf80df80df80df80;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xdfc2df80df80df87;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xff21ff21ff21ff21;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xff21ff21ff21ff21;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xff21ff21ff21ff21;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xff21ff21ff21ff21;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000002;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x4079808280057efe;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x007ffcfcfd020202;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x004000800080007e;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x000000fc00fd0002;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffe00000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xff01ff0100000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xff01ff0100000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xff01ff0100000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xff01ff0100000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000007fffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ffe00007f000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000007fffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffff000100000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000007fff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffff7fff00007f00;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffff000100007fff;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x000050504c4c2362;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x000b8f81b8c840e4;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x000050504c4c2362;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x000b8f81b8c840e4;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffb3b4;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffff5ffff4738;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffb3b4;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffff5ffff4738;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x00009fff9ffffd80;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff20010001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x00009fff9ffffd80;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff20010001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x00002080df5b41cf;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x00002080df5b41cf;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000009fff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff40a6;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000009fff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffff40a6;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_w_hu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x00007fffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x00007fffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffff8001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffff8001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000001;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x020afefb08140000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0003fffc00060000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff00ffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffff000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000ff00000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff0001ff02;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff020afefc;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000003fefd;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xff00ff00ff00ef32;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00ff00ff00ef32;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xff00ff00ff00ef32;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00ff00ff00ef32;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x1514151415141514;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x151415141514e335;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x1514151415141514;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x151415141514e335;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000e9ece9ec;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000e9ece9ec;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000e9ece9ec;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000e9ece9ec;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0008000800080008;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x000c005e000c0029;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0004005600040020;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0002000000020000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000300000002;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0002000000020000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000300000002;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000060008;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000c005b;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffe0000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000040053;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xf7f8f7f8f800f800;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00003f784000ff80;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xf7f8f7f84000fff9;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x00003f784000ff80;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000f7f8f7f8;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000003f78;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000f7f8f7f8;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000003f78;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x7000700070007000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x7000700070007000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000070007000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x7000700070007000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff8fff9000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff8fff9000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff8fff9000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0xc848c848c848c848;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x8848c848c848c848;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0xc848c848c848c848;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x8848c848c848c848;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff37b737b8;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff77b737b8;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffff37b737b8;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff77b737b8;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x457db03e457db03e;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x457db03e45a87310;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x457db03e457db03e;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x457db03e45a87310;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000457db03e;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff457db03f;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000457db03e;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff457db03f;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001000100010001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000001;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000001;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00ff00ff00ff00;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00ff00ff00ff00;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x000050504c4c2362;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x000b2673a90896a4;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x000050504c4c2362;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x000b2673a90896a4;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0xffffafafb3b3dc9d;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0xffffafafb3b3dc9d;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000008050501;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0100000100000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000008050501;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0100000100000001;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000008050501;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000008050501;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000001fff000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000029170;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000001fff000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000029170;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000001fff000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000001fff000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000090b0906;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000d6d6d;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffff8000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffff8000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
|
||
|
|
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
|
||
|
|
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
|
||
|
|
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
|
||
|
|
+
|
||
|
|
+ return 0;
|
||
|
|
+}
|
||
|
|
--
|
||
|
|
2.33.0
|
||
|
|
|