From: "Alex Bennée" <alex.bennee@linaro.org>
To: Richard Henderson <rth@twiddle.net>
Cc: qemu-devel@nongnu.org, aurelien@aurel32.net
Subject: Re: [Qemu-devel] [PATCH 04/10] tcg: Use helper-gen.h in tcg-op.h
Date: Tue, 13 May 2014 10:34:19 +0100 [thread overview]
Message-ID: <8738ge81k4.fsf@linaro.org> (raw)
In-Reply-To: <1399938424-6703-5-git-send-email-rth@twiddle.net>
Richard Henderson <rth@twiddle.net> writes:
> No need to open-code the setup of the builtin helpers.
>
> Signed-off-by: Richard Henderson <rth@twiddle.net>
> ---
> tcg/tcg-op.h | 175 +++++++++--------------------------------------------------
> 1 file changed, 25 insertions(+), 150 deletions(-)
>
> diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h
> index 8560695..f4367a0 100644
> --- a/tcg/tcg-op.h
> +++ b/tcg/tcg-op.h
> @@ -24,6 +24,14 @@
> #include "tcg.h"
> #include "exec/helper-proto.h"
>
> +static inline void tcg_gen_helperN(void *func, int flags, int sizemask,
> + TCGArg ret, int nargs, TCGArg *args)
> +{
> + tcg_gen_callN(&tcg_ctx, func, flags, sizemask, ret, nargs, args);
> +}
> +
> +#include "exec/helper-gen.h"
> +
<snip>
>
> -/* A version of dh_sizemask from def-helper.h that doesn't rely on
> - preprocessor magic. */
> -static inline int tcg_gen_sizemask(int n, int is_64bit, int is_signed)
> -{
> - return (is_64bit << n*2) | (is_signed << (n*2 + 1));
> -}
> -
> -/* helper calls */
> -static inline void tcg_gen_helperN(void *func, int flags, int sizemask,
> - TCGArg ret, int nargs, TCGArg *args)
> -{
> - tcg_gen_callN(&tcg_ctx, func, flags, sizemask, ret, nargs, args);
> -}
> -
<snip>
>
> static inline void tcg_gen_ld8u_i32(TCGv_i32 ret, TCGv_ptr arg2, tcg_target_long offset)
> @@ -708,12 +675,7 @@ static inline void tcg_gen_div_i32(TCGv_i32 ret, TCGv_i32 arg1, TCGv_i32 arg2)
> tcg_gen_op5_i32(INDEX_op_div2_i32, ret, t0, arg1, t0, arg2);
> tcg_temp_free_i32(t0);
> } else {
> - int sizemask = 0;
> - /* Return value and both arguments are 32-bit and signed. */
> - sizemask |= tcg_gen_sizemask(0, 0, 1);
> - sizemask |= tcg_gen_sizemask(1, 0, 1);
> - sizemask |= tcg_gen_sizemask(2, 0, 1);
> - tcg_gen_helper32(helper_div_i32, sizemask, ret, arg1, arg2);
> + gen_helper_div_i32(ret, arg1, arg2);
> }
> }
I'm having trouble figuring out what the sizemask stuff was trying to
achieve and if it's required/covered after the change. Is the final
helper now the one defined as?
DEF(div_i32, 1, 2, 0, IMPL(TCG_TARGET_HAS_div_i32))
it's hard to follow the parameters of this compared to the target
helpers where the the argument sizes are a lot more explicit.
--
Alex Bennée
next prev parent reply other threads:[~2014-05-13 9:34 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-12 23:46 [Qemu-devel] [PATCH 00/10] tcg cleanup and optimization Richard Henderson
2014-05-12 23:46 ` [Qemu-devel] [PATCH 01/10] tcg: Optimize brcond2 and setcond2 ne/eq Richard Henderson
2014-05-12 23:46 ` [Qemu-devel] [PATCH 02/10] tcg: Invert the inclusion of helper.h Richard Henderson
2014-05-13 9:10 ` Alex Bennée
2014-05-12 23:46 ` [Qemu-devel] [PATCH 03/10] tcg: Push tcg-runtime routines into exec/helper-* Richard Henderson
2014-05-13 9:20 ` Alex Bennée
2014-05-13 13:39 ` Richard Henderson
2014-05-12 23:46 ` [Qemu-devel] [PATCH 04/10] tcg: Use helper-gen.h in tcg-op.h Richard Henderson
2014-05-13 9:34 ` Alex Bennée [this message]
2014-05-13 13:44 ` Richard Henderson
2014-05-12 23:46 ` [Qemu-devel] [PATCH 05/10] tcg: Inline tcg_gen_helperN Richard Henderson
2014-05-13 9:34 ` Alex Bennée
2014-05-12 23:47 ` [Qemu-devel] [PATCH 06/10] tcg: Move side effects out of dh_sizemask Richard Henderson
2014-05-12 23:47 ` [Qemu-devel] [PATCH 07/10] tcg: Register the helper info struct rather than the name Richard Henderson
2014-05-13 9:36 ` Alex Bennée
2014-05-12 23:47 ` [Qemu-devel] [PATCH 08/10] tcg: Save flags and computed sizemask in TCGHelperInfo Richard Henderson
2014-05-13 9:38 ` Alex Bennée
2014-05-13 13:54 ` Richard Henderson
2014-05-12 23:47 ` [Qemu-devel] [PATCH 09/10] tcg: Remove sizemask and flags arguments to tcg_gen_callN Richard Henderson
2014-05-12 23:47 ` [Qemu-devel] [PATCH 10/10] tcg: Move size effects out of dh_arg Richard Henderson
2014-05-13 9:42 ` Alex Bennée
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8738ge81k4.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=aurelien@aurel32.net \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.