diff options
author | blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-03-16 19:22:18 +0000 |
---|---|---|
committer | blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-03-16 19:22:18 +0000 |
commit | d9bdab86e83c1a8e1ed12fad67e76a2459a9e305 (patch) | |
tree | c7bc4a3f8fa853f87c62ae9e60306f4ef166ce71 /target-sparc/op.c | |
parent | c4071c90143c6c356ad670e6ed03024b14ce4fa7 (diff) |
Convert mulscc to TCG, add cc_src2
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4075 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-sparc/op.c')
-rw-r--r-- | target-sparc/op.c | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/target-sparc/op.c b/target-sparc/op.c index 921699e4c0..f4f05d2a67 100644 --- a/target-sparc/op.c +++ b/target-sparc/op.c @@ -195,34 +195,6 @@ void OPPROTO op_smul_T1_T0(void) env->y = res >> 32; } -void OPPROTO op_mulscc_T1_T0(void) -{ - unsigned int b1, N, V, b2; - target_ulong src1; - - N = FLAG_SET(PSR_NEG); - V = FLAG_SET(PSR_OVF); - b1 = N ^ V; - b2 = T0 & 1; - T0 = (b1 << 31) | (T0 >> 1); - if (!(env->y & 1)) - T1 = 0; - /* do addition and update flags */ - src1 = T0; - T0 += T1; - env->psr = 0; - if (!T0) - env->psr |= PSR_ZERO; - if ((int32_t) T0 < 0) - env->psr |= PSR_NEG; - if (T0 < src1) - env->psr |= PSR_CARRY; - if (((src1 ^ T1 ^ -1) & (src1 ^ T0)) & (1 << 31)) - env->psr |= PSR_OVF; - env->y = (b2 << 31) | (env->y >> 1); - FORCE_RET(); -} - void OPPROTO op_udiv_T1_T0(void) { uint64_t x0; |