]> git.proxmox.com Git - qemu.git/commitdiff
target-s390x: Use mulu2 for mlgr insn
authorRichard Henderson <rth@twiddle.net>
Wed, 20 Feb 2013 07:52:04 +0000 (23:52 -0800)
committerBlue Swirl <blauwirbel@gmail.com>
Sat, 23 Feb 2013 17:25:29 +0000 (17:25 +0000)
Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
target-s390x/helper.h
target-s390x/int_helper.c
target-s390x/translate.c

index dd90d93bee4a688fbf2cc87343be825426f2297d..0d80aa046f5eefe56c0a41ac4d6bcc8b1b6b5ed3 100644 (file)
@@ -8,7 +8,6 @@ DEF_HELPER_FLAGS_4(mvc, TCG_CALL_NO_WG, void, env, i32, i64, i64)
 DEF_HELPER_FLAGS_4(clc, TCG_CALL_NO_WG, i32, env, i32, i64, i64)
 DEF_HELPER_3(mvcl, i32, env, i32, i32)
 DEF_HELPER_FLAGS_4(clm, TCG_CALL_NO_WG, i32, env, i32, i32, i64)
-DEF_HELPER_FLAGS_3(mul128, TCG_CALL_NO_RWG, i64, env, i64, i64)
 DEF_HELPER_FLAGS_3(divs32, TCG_CALL_NO_WG, s64, env, s64, s64)
 DEF_HELPER_FLAGS_3(divu32, TCG_CALL_NO_WG, i64, env, i64, i64)
 DEF_HELPER_FLAGS_3(divs64, TCG_CALL_NO_WG, s64, env, s64, s64)
index 685830124f695a17360ce968fc55cc1692fbc9fe..af16b21baaf7998ace04e7cace61b074b2780ca2 100644 (file)
 #define HELPER_LOG(x...)
 #endif
 
-/* 64/64 -> 128 unsigned multiplication */
-uint64_t HELPER(mul128)(CPUS390XState *env, uint64_t v1, uint64_t v2)
-{
-    uint64_t reth;
-    mulu64(&env->retxl, &reth, v1, v2);
-    return reth;
-}
-
 /* 64/32 -> 32 signed division */
 int64_t HELPER(divs32)(CPUS390XState *env, int64_t a, int64_t b64)
 {
index a57296c64ff48028fa106947e4eb75198b7e0375..bdf69a3c7c9cb7bbc2805fae6d2fb19e68bc11c6 100644 (file)
@@ -2566,8 +2566,7 @@ static ExitStatus op_mul(DisasContext *s, DisasOps *o)
 
 static ExitStatus op_mul128(DisasContext *s, DisasOps *o)
 {
-    gen_helper_mul128(o->out, cpu_env, o->in1, o->in2);
-    return_low128(o->out2);
+    tcg_gen_mulu2_i64(o->out2, o->out, o->in1, o->in2);
     return NO_EXIT;
 }