diff options
authorAurelien Jarno <>2010-12-25 23:25:47 +0100
committerDoug Goldstein <>2011-05-27 13:02:16 -0500
commit1b8b13f183e146667a5bbae86c04788897b2aaed (patch)
tree9b7f472b0c0554faec117ee047df1ba6574d32bf /target-sparc/helper.h
parenttarget-arm: fix bug in translation of REVSH (diff)
target-sparc: fix udiv(cc) and sdiv(cc)
Since commit 5a4bb580cdb10b066f9fd67658b31cac4a4ea5e5, Xorg crashes on a Debian Etch image. The commit itself is fine, but it triggers a bug due to wrong computation of flags for udiv(cc) and sdiv(cc). This patch only compute cc_src2 for the cc version of udiv/sdiv. It also moves the update of cc_dst and cc_op to the helper, as it is faster doing it here when there is already an helper. Signed-off-by: Aurelien Jarno <> Signed-off-by: Blue Swirl <> (cherry picked from commit 0fcec41eec0432c77645b4a407d3a3e030c4abc4) Signed-off-by: Aurelien Jarno <>
Diffstat (limited to 'target-sparc/helper.h')
1 files changed, 2 insertions, 0 deletions
diff --git a/target-sparc/helper.h b/target-sparc/helper.h
index 6f103e769..e6d82f9ea 100644
--- a/target-sparc/helper.h
+++ b/target-sparc/helper.h
@@ -37,7 +37,9 @@ DEF_HELPER_0(save, void)
DEF_HELPER_0(restore, void)
DEF_HELPER_1(flush, void, tl)
DEF_HELPER_2(udiv, tl, tl, tl)
+DEF_HELPER_2(udiv_cc, tl, tl, tl)
DEF_HELPER_2(sdiv, tl, tl, tl)
+DEF_HELPER_2(sdiv_cc, tl, tl, tl)
DEF_HELPER_2(stdf, void, tl, int)
DEF_HELPER_2(lddf, void, tl, int)
DEF_HELPER_2(ldqf, void, tl, int)