aboutsummaryrefslogtreecommitdiff
path: root/ops_template.h
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-05-10 21:38:19 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-05-10 21:38:19 +0000
commit72cc3881048edcb70912318ea9574baa4c7bf902 (patch)
tree2c5d8dbed466ef988b039a1852b4388eeab08071 /ops_template.h
parent378180d8dc18b04af998cdff65a2c65975520a2f (diff)
fixed SHL C flag computation
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@151 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'ops_template.h')
-rw-r--r--ops_template.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/ops_template.h b/ops_template.h
index 4cada782c2..7adf7be6a7 100644
--- a/ops_template.h
+++ b/ops_template.h
@@ -204,9 +204,14 @@ static int glue(compute_all_shl, SUFFIX)(void)
return cf | pf | af | zf | sf | of;
}
-#if DATA_BITS == 32
static int glue(compute_c_shl, SUFFIX)(void)
{
+ return (CC_SRC >> (DATA_BITS - 1)) & CC_C;
+}
+
+#if DATA_BITS == 32
+static int glue(compute_c_sar, SUFFIX)(void)
+{
return CC_SRC & 1;
}
#endif