[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH v3 1/5] coccinelle: add a script to optimize
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [RFC PATCH v3 1/5] coccinelle: add a script to optimize tcg op using tcg_gen_extract() |
Date: |
Fri, 12 May 2017 12:49:23 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 |
On 05/12/2017 12:36 AM, Philippe Mathieu-Daudé wrote:
> In this patch
> http://lists.nongnu.org/archive/html/qemu-devel/2017-05/msg01466.html
> Aurelien does:
>
> - tcg_gen_shri_i32(cpu_sr_q, src, SR_Q);
> - tcg_gen_andi_i32(cpu_sr_q, cpu_sr_q, 1);
> + tcg_gen_extract_i32(cpu_sr_q, src, SR_Q, 1);
>
> having:
>
> #define SR_Q 8
>
> I wanted to write a Coccinelle script to check for this pattern.
> My first version was wrong, as Richard Henderson reminded me this
> pattern can be applied as long as the len argument (here "1") is a
> Mersenne prime (all least significant bits as "1").
Side note: while you are correct that a Mersenne prime is one less than
a power of 2, your use of the term here is incorrect. You are looking
for ALL instances of numbers that are one less than a power of two, and
not just the Mersenne primes. (For instance, 0xf is NOT a Mersenne
prime, but IS a candidate for an optimization using a length of 4.)
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature
[Qemu-devel] [PATCH v3 2/5] target/arm: optimize rev16() using extract op, Philippe Mathieu-Daudé, 2017/05/11
Re: [Qemu-devel] [PATCH v3 2/5] target/arm: optimize rev16() using extract op, Philippe Mathieu-Daudé, 2017/05/12
[Qemu-devel] [PATCH v3 3/5] target/m68k: optimize bcd_flags() using extract op, Philippe Mathieu-Daudé, 2017/05/11