[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/4] tcg/optimize: fix know-zero bits optimizati
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH 1/4] tcg/optimize: fix know-zero bits optimization |
Date: |
Tue, 03 Sep 2013 11:50:40 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 |
FWIW $subject has a typo. While at it...
Am 03.09.2013 08:27, schrieb Aurelien Jarno:
> Known-zero bits optimization is a great idea that helps to generate more
> optimized code. However the current implementation is basically useless
> as the computed mask is not saved.
>
> Fix this to make it really working.
>
> Cc: Richard Henderson <address@hidden>
> Cc: Paolo Bonzini <address@hidden>
> Signed-off-by: Aurelien Jarno <address@hidden>
> ---
> tcg/optimize.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/tcg/optimize.c b/tcg/optimize.c
> index b29bf25..41f2906 100644
> --- a/tcg/optimize.c
> +++ b/tcg/optimize.c
> @@ -695,7 +695,8 @@ static TCGArg *tcg_constant_folding(TCGContext *s,
> uint16_t *tcg_opc_ptr,
> break;
> }
>
> - /* Simplify using known-zero bits */
> + /* Simplify using known-zero bits. Currently only ops with a single
> + output argument is supported. */
"ops ... are"?
Cheers,
Andreas
> mask = -1;
> affected = -1;
> switch (op) {
> @@ -1144,6 +1145,11 @@ static TCGArg *tcg_constant_folding(TCGContext *s,
> uint16_t *tcg_opc_ptr,
> } else {
> for (i = 0; i < def->nb_oargs; i++) {
> reset_temp(args[i]);
> + /* Save the corresponding known-zero bits mask for the
> + first output argument (only one supported so far). */
> + if (i == 0) {
> + temps[args[i]].mask = mask;
> + }
> }
> }
> for (i = 0; i < def->nb_args; i++) {
>
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
- [Qemu-devel] [PATCH 0/4] tcg/optimize: fixes and improvements, Aurelien Jarno, 2013/09/03
- [Qemu-devel] [PATCH 2/4] tcg/optimize: fix known-zero bits for right shift ops, Aurelien Jarno, 2013/09/03
- [Qemu-devel] [PATCH 4/4] tcg/optimize: add known-zero bits compute for load ops, Aurelien Jarno, 2013/09/03
- [Qemu-devel] [PATCH 1/4] tcg/optimize: fix know-zero bits optimization, Aurelien Jarno, 2013/09/03
- Re: [Qemu-devel] [PATCH 1/4] tcg/optimize: fix know-zero bits optimization,
Andreas Färber <=
- [Qemu-devel] [PATCH 3/4] tcg/optimize: improve known-zero bits for 32-bit ops, Aurelien Jarno, 2013/09/03
- Re: [Qemu-devel] [PATCH 0/4] tcg/optimize: fixes and improvements, Paolo Bonzini, 2013/09/03
- Re: [Qemu-devel] [PATCH 0/4] tcg/optimize: fixes and improvements, Richard Henderson, 2013/09/03