diff options
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 921699e..f4f05d2 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; |