projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7880feb
)
Fix test for signed div fast path
author
malc
<malc@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 9 Jun 2008 19:57:27 +0000
(19:57 +0000)
committer
malc
<malc@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 9 Jun 2008 19:57:27 +0000
(19:57 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4714
c046a42c
-6fe2-441c-8c8c-
71466251a162
tcg/ppc/tcg-target.c
patch
|
blob
|
history
diff --git
a/tcg/ppc/tcg-target.c
b/tcg/ppc/tcg-target.c
index 6c4e37523f7aab1716613fb7baeac2735ff628d4..205cd2bada749c6f0fa29ce58c10847e3f9c2ba9 100644
(file)
--- 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);