summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiher <wangr@lemote.com>2016-10-14 10:46:04 +0800
committerYongbok Kim <yongbok.kim@imgtec.com>2016-12-02 16:11:08 +0000
commit9099a36b4bb81f84004b77f08e58ac2c67eed0e7 (patch)
tree66b6b8a8df3b1e0335822ad14c9742cf7274b4a0
parentbd8ef5060dd2124a54578241da9a572faf7658dd (diff)
target-mips: Fix Loongson pandn instruction.
pandn FD, FS, FT Operation: FD = ((NOT FS) AND FT) Signed-off-by: Heiher <wangr@lemote.com> Signed-off-by: Fuxin Zhang <zhangfx@lemote.com> Reviewed-by: Yongbok Kim <yongbok.kim@imgtec.com> Signed-off-by: Yongbok Kim <yongbok.kim@imgtec.com>
-rw-r--r--target-mips/translate.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/target-mips/translate.c b/target-mips/translate.c
index d8dde7a2f5..5ad97c7a4e 100644
--- a/target-mips/translate.c
+++ b/target-mips/translate.c
@@ -3945,9 +3945,12 @@ 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);
+ case OPC_PANDN:
+ tcg_gen_andc_i64(t0, t1, t0);
+ break;
+
case OPC_PINSRH_0:
tcg_gen_deposit_i64(t0, t0, t1, 0, 16);
break;