From 5d794885a2eb55a52214f1a31dada29f0c55862d Mon Sep 17 00:00:00 2001 From: malc Date: Mon, 9 Jun 2008 19:57:27 +0000 Subject: Fix test for signed div fast path git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4714 c046a42c-6fe2-441c-8c8c-71466251a162 --- tcg/ppc/tcg-target.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'tcg/ppc/tcg-target.c') diff --git a/tcg/ppc/tcg-target.c b/tcg/ppc/tcg-target.c index 6c4e37523f..205cd2bada 100644 --- a/tcg/ppc/tcg-target.c +++ b/tcg/ppc/tcg-target.c @@ -1057,7 +1057,13 @@ static void tcg_out_div2 (TCGContext *s, int uns) { void *label1_ptr, *label2_ptr; - tcg_out32 (s, CMPLI | BF (7) | RA (3)); + if (uns) + tcg_out32 (s, CMPLI | BF (7) | RA (3)); + else { + tcg_out32 (s, SRAWI | RS (4) | RA (0) | 31); + tcg_out32 (s, CMPL | BF (7) | RA (3) | RB (4)); + } + label1_ptr = s->code_ptr; tcg_out32 (s, BC | BI (7, CR_EQ) | BO_COND_TRUE); -- cgit v1.2.3