qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] ppc: Convert op_405_check_{sat,satu} to TCG


From: Paul Brook
Subject: Re: [Qemu-devel] [PATCH] ppc: Convert op_405_check_{sat,satu} to TCG
Date: Sat, 25 Oct 2008 21:09:17 +0100
User-agent: KMail/1.9.9

On Saturday 25 October 2008, Andreas Färber wrote:
> +            tcg_gen_shri_tl(tmp, tmp, 31);
> +            tcg_gen_brcondi_tl(TCG_COND_EQ, tmp, 0, endLabel);

Is this really right for ppc64?
You can easily test the high bit using TCG_COND_LT.

> +            tcg_gen_shri_tl(tmp, cpu_T[2], 31);
> +            tcg_gen_brcondi_tl(TCG_COND_EQ, tmp, 0, innerLabel);
> +
> +            tcg_gen_movi_tl(cpu_T[0], INT32_MIN);
> +            tcg_gen_br(endLabel);
> +
> +            gen_set_label(innerLabel);
> +            tcg_gen_movi_tl(cpu_T[0], INT32_MAX);

((signed)x >> 31) ^ 0x7fffffff)
is a much more efficient way of implementing this.

Paul




reply via email to

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