qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 2/9] target-sh4: Split out T from SR


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH v2 2/9] target-sh4: Split out T from SR
Date: Tue, 24 Dec 2013 06:13:50 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0

On 12/22/2013 03:50 AM, Aurelien Jarno wrote:
> +static inline target_ulong cpu_read_sr(CPUSH4State *env)
> +{
> +    return (env->sr & ~(1u << SR_T)) | (env->sr_t << SR_T);
> +}
> +
> +static inline void cpu_write_sr(CPUSH4State *env, target_ulong sr)
> +{
> +    env->sr_t = sr & (1u << SR_T);
> +    env->sr = sr & ~(1u << SR_T);
> +}
...
> +static void gen_read_sr(TCGv dst)
> +{
> +    tcg_gen_andi_i32(dst, cpu_sr, ~(1u << SR_T));
> +    tcg_gen_or_i32(dst, dst, cpu_sr_t);
> +}
> +
> +static void gen_write_sr(TCGv src)
> +{
> +    tcg_gen_andi_i32(cpu_sr, src, ~(1u << SR_T));
> +    tcg_gen_andi_i32(cpu_sr_t, src, (1u << SR_T));
> +}

If the writer always clears SR_T when assigning to env->sr,
then there's no need to clear it when reading from env->sr.
Or vice versa.

Otherwise,

Reviewed-by: Richard Henderson <address@hidden>


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]