qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [5281] Use the new concat_i32_i64 op for std and stda


From: Blue Swirl
Subject: Re: [Qemu-devel] [5281] Use the new concat_i32_i64 op for std and stda
Date: Sun, 21 Sep 2008 19:29:07 +0300

On 9/21/08, Blue Swirl <address@hidden> wrote:
> On 9/21/08, Paul Brook <address@hidden> wrote:
>  > On Sunday 21 September 2008, Blue Swirl wrote:
>  >  > +    r_low = tcg_temp_new(TCG_TYPE_I32);
>  >  > +    tcg_gen_trunc_tl_i32(r_low, cpu_tmp0);
>  >  > +    tcg_gen_trunc_tl_i32(cpu_tmp32, hi);
>  >  > +    tcg_gen_concat_i32_i64(cpu_tmp64, r_low, cpu_tmp32);
>  >  > +    tcg_temp_free(r_low);
>  >
>  >
>  > It's more efficient to not use concat_i32_i64 on 64-bit targets.
>  >  See patch below. I'll let you decide if you want to apply or ignore it.
>
>
> Good point. How about adding instead a concat_i64_i64 starting from this 
> piece:
>
> >  +    tcg_gen_shli_i64(dest, high, 32);
>  >  +    tcg_gen_ext32u_i64(low, low);
>  >  +    tcg_gen_or_i64(dest, dest, low);
>
>
> and also add defines for concat_tl_i64? That would be both clean and 
> efficient.

Like these patches?

Attachment: concat_ops.diff
Description: plain/text

Attachment: use_concat_ops.diff
Description: plain/text


reply via email to

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