This patch includes:
- XVSEQ[I].{B/H/W/D};
- XVSLE[I].{B/H/W/D}[U];
- XVSLT[I].{B/H/W/D/}[U].
Signed-off-by: Song Gao<gaosong@loongson.cn>
---
target/loongarch/vec.h | 4 +
target/loongarch/insns.decode | 43 +++
target/loongarch/disas.c | 43 +++
target/loongarch/vec_helper.c | 27 +-
target/loongarch/insn_trans/trans_lasx.c.inc | 43 +++
target/loongarch/insn_trans/trans_lsx.c.inc | 263 ++++++++++---------
6 files changed, 278 insertions(+), 145 deletions(-)
diff --git a/target/loongarch/vec.h b/target/loongarch/vec.h
index aae70f9de9..bc74effb7c 100644
--- a/target/loongarch/vec.h
+++ b/target/loongarch/vec.h
@@ -89,4 +89,8 @@
#define DO_BITSET(a, bit) (a | 1ull << bit)
#define DO_BITREV(a, bit) (a ^ (1ull << bit))
+#define VSEQ(a, b) (a == b ? -1 : 0)
+#define VSLE(a, b) (a <= b ? -1 : 0)
+#define VSLT(a, b) (a < b ? -1 : 0)
+