[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] target-mips: Fix Loongson pandn instruction.
From: |
Heiher |
Subject: |
[Qemu-devel] [PATCH] target-mips: Fix Loongson pandn instruction. |
Date: |
Thu, 13 Oct 2016 10:17:27 +0800 |
From: Heiher <address@hidden>
pandn FD, FS, FT
Operation: FD = ((NOT FS) AND FT)
Signed-off-by: Heiher <address@hidden>
Signed-off-by: Fuxin Zhang <address@hidden>
---
target-mips/translate.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/target-mips/translate.c b/target-mips/translate.c
index 55c2ca0..ed67180 100644
--- a/target-mips/translate.c
+++ b/target-mips/translate.c
@@ -3880,6 +3880,8 @@ static void gen_loongson_multimedia(DisasContext *ctx,
int rd, int rs, int rt)
case OPC_##UP: gen_helper_##LO(t0, t0); break
#define LMI_DIRECT(UP, LO, OP) \
case OPC_##UP: tcg_gen_##OP##_i64(t0, t0, t1); break
+#define LMI_DIRECT_SWAP(UP, LO, OP) \
+ case OPC_##UP: tcg_gen_##OP##_i64(t0, t1, t0); break
switch (opc) {
LMI_HELPER(PADDSH, paddsh);
@@ -3945,8 +3947,8 @@ static void gen_loongson_multimedia(DisasContext *ctx,
int rd, int rs, int rt)
LMI_DIRECT(XOR_CP2, xor, xor);
LMI_DIRECT(NOR_CP2, nor, nor);
LMI_DIRECT(AND_CP2, and, and);
- LMI_DIRECT(PANDN, pandn, andc);
LMI_DIRECT(OR, or, or);
+ LMI_DIRECT_SWAP(PANDN, pandn, andc);
case OPC_PINSRH_0:
tcg_gen_deposit_i64(t0, t0, t1, 0, 16);
--
2.10.0
- [Qemu-devel] [PATCH] target-mips: Fix Loongson pandn instruction.,
Heiher <=