[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] target-mips: clean-up in BIT_INSV
From: |
Aurelien Jarno |
Subject: |
Re: [Qemu-devel] [PATCH] target-mips: clean-up in BIT_INSV |
Date: |
Thu, 9 May 2013 19:42:00 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Thu, May 09, 2013 at 07:28:37PM +0200, Petar Jovanovic wrote:
> From: Petar Jovanovic <address@hidden>
>
> This is a small follow-up change to "fix incorrect behaviour for INSV".
>
> It includes two minor modifications:
>
> - sizefilter is constant so it can be moved inside of the block,
> - (int64_t)0x01 is replaced with 1LL for ease of reading.
>
> No functional change.
>
> Signed-off-by: Petar Jovanovic <address@hidden>
> ---
> target-mips/dsp_helper.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/target-mips/dsp_helper.c b/target-mips/dsp_helper.c
> index 9212789..426a3b6 100644
> --- a/target-mips/dsp_helper.c
> +++ b/target-mips/dsp_helper.c
> @@ -2900,11 +2900,12 @@ target_ulong helper_bitrev(target_ulong rt)
> return (target_ulong)rd;
> }
>
> -#define BIT_INSV(name, posfilter, sizefilter, ret_type) \
> +#define BIT_INSV(name, posfilter, ret_type) \
> target_ulong helper_##name(CPUMIPSState *env, target_ulong rs, \
> target_ulong rt) \
> { \
> uint32_t pos, size, msb, lsb; \
> + uint32_t const sizefilter = 0x3F; \
> target_ulong filter; \
> target_ulong temp, temprs, temprt; \
> target_ulong dspc; \
> @@ -2921,7 +2922,7 @@ target_ulong helper_##name(CPUMIPSState *env,
> target_ulong rs, \
> return rt; \
> } \
> \
> - filter = ((int64_t)0x01 << size) - 1; \
> + filter = (1LL << size) - 1; \
> filter = filter << pos; \
> temprs = (rs << pos) & filter; \
> temprt = rt & ~filter; \
> @@ -2930,9 +2931,9 @@ target_ulong helper_##name(CPUMIPSState *env,
> target_ulong rs, \
> return (target_long)(ret_type)temp; \
> }
>
> -BIT_INSV(insv, 0x1F, 0x3F, int32_t);
> +BIT_INSV(insv, 0x1F, int32_t);
> #ifdef TARGET_MIPS64
> -BIT_INSV(dinsv, 0x7F, 0x3F, target_long);
> +BIT_INSV(dinsv, 0x7F, target_long);
> #endif
>
> #undef BIT_INSV
Thanks, queued for 1.6.
--
Aurelien Jarno GPG: 1024D/F1BCDB73
address@hidden http://www.aurel32.net