From efe72c8de7b5f07bf8348d51ed4bb4f004e50748 Mon Sep 17 00:00:00 2001 From: malc Date: Sat, 17 Apr 2010 07:58:08 +0400 Subject: [PATCH] tcg/ppc: Fix signed versions of brcond2 Thanks to: Alexander Graff, Thomas Gleixner and Andreas Faerber. Signed-off-by: malc --- tcg/ppc/tcg-target.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tcg/ppc/tcg-target.c b/tcg/ppc/tcg-target.c index 6f044d6ff5..d559214a62 100644 --- a/tcg/ppc/tcg-target.c +++ b/tcg/ppc/tcg-target.c @@ -1107,7 +1107,8 @@ static void tcg_out_cr7eq_from_cond (TCGContext *s, const TCGArg *args, op = (b->bit1 != b->bit2) ? CRANDC : CRAND; tcg_out_cmp (s, b->cond2, args[1], args[3], const_args[3], 5); tcg_out_cmp (s, TCG_COND_EQ, args[1], args[3], const_args[3], 6); - tcg_out_cmp (s, cond, args[0], args[2], const_args[2], 7); + tcg_out_cmp (s, tcg_unsigned_cond (cond), args[0], args[2], + const_args[2], 7); tcg_out32 (s, op | BT (7, CR_EQ) | BA (6, CR_EQ) | BB (7, b->bit2)); tcg_out32 (s, CROR | BT (7, CR_EQ) | BA (5, b->bit1) | BB (7, CR_EQ)); break; -- 2.11.0