diff options
author | Tom Musta <tommusta@gmail.com> | 2014-08-25 14:25:44 -0500 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2014-09-08 12:50:53 +0200 |
commit | 22ffad31d453a82aa290bf196f904580198e8e66 (patch) | |
tree | 247b2dfd16ba4f144f31d89d3c8325f40c3b3082 /target-ppc/int_helper.c | |
parent | 269778769d4d24c511bc3d5f95eeb2e92dcf1868 (diff) | |
download | qemu-22ffad31d453a82aa290bf196f904580198e8e66.zip |
target-ppc: Implement mulldo with TCG
Optimize mulldo by using the muls2_i64 operation rather than a helper. Eliminate
the obsolete helper code.
Signed-off-by: Tom Musta <tommusta@gmail.com>
Suggested-by: Richard Henderson <rth@twiddle.net>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-ppc/int_helper.c')
-rw-r--r-- | target-ppc/int_helper.c | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/target-ppc/int_helper.c b/target-ppc/int_helper.c index e5b103b0ec..713d777076 100644 --- a/target-ppc/int_helper.c +++ b/target-ppc/int_helper.c @@ -24,33 +24,6 @@ #include "helper_regs.h" /*****************************************************************************/ /* Fixed point operations helpers */ -#if defined(TARGET_PPC64) - -uint64_t helper_mulldo(CPUPPCState *env, uint64_t arg1, uint64_t arg2) -{ - int64_t th; - uint64_t tl; - - muls64(&tl, (uint64_t *)&th, arg1, arg2); - - /* th should either contain all 1 bits or all 0 bits and should - * match the sign bit of tl; otherwise we have overflowed. */ - - if ((int64_t)tl < 0) { - if (likely(th == -1LL)) { - env->ov = 0; - } else { - env->so = env->ov = 1; - } - } else if (likely(th == 0LL)) { - env->ov = 0; - } else { - env->so = env->ov = 1; - } - - return (int64_t)tl; -} -#endif target_ulong helper_divweu(CPUPPCState *env, target_ulong ra, target_ulong rb, uint32_t oe) |