diff options
author | Heiher <wangr@lemote.com> | 2016-10-14 10:46:04 +0800 |
---|---|---|
committer | Yongbok Kim <yongbok.kim@imgtec.com> | 2016-12-02 16:11:08 +0000 |
commit | 9099a36b4bb81f84004b77f08e58ac2c67eed0e7 (patch) | |
tree | 66b6b8a8df3b1e0335822ad14c9742cf7274b4a0 | |
parent | bd8ef5060dd2124a54578241da9a572faf7658dd (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.c | 5 |
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; |