From 9099a36b4bb81f84004b77f08e58ac2c67eed0e7 Mon Sep 17 00:00:00 2001 From: Heiher Date: Fri, 14 Oct 2016 10:46:04 +0800 Subject: target-mips: Fix Loongson pandn instruction. pandn FD, FS, FT Operation: FD = ((NOT FS) AND FT) Signed-off-by: Heiher Signed-off-by: Fuxin Zhang Reviewed-by: Yongbok Kim Signed-off-by: Yongbok Kim --- target-mips/translate.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'target-mips') 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; -- cgit v1.2.3