[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/6] Implement constant folding and copy propaga
From: |
Dmitry Zhurikhin |
Subject: |
Re: [Qemu-devel] [PATCH 0/6] Implement constant folding and copy propagation in TCG |
Date: |
Sat, 21 May 2011 16:47:37 +0400 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-GB; rv:1.9.2.17) Gecko/20110424 Lightning/1.0b2 Thunderbird/3.1.10 |
On 05/20/2011 11:35 PM, Aurelien Jarno wrote:
>
> On Fri, May 20, 2011 at 04:39:27PM +0400, Kirill Batuzov wrote:
>> This series implements some basic machine-independent optimizations. They
>> simplify code and allow liveness analysis do it's work better.
>>
>> Suppose we have following ARM code:
>>
>> movw r12, #0xb6db
>> movt r12, #0xdb6d
>>
>> In TCG before optimizations we'll have:
>>
>> movi_i32 tmp8,$0xb6db
>> mov_i32 r12,tmp8
>> mov_i32 tmp8,r12
>> ext16u_i32 tmp8,tmp8
>> movi_i32 tmp9,$0xdb6d0000
>> or_i32 tmp8,tmp8,tmp9
>> mov_i32 r12,tmp8
>>
>> And after optimizations we'll have this:
>>
>> movi_i32 r12,$0xdb6db6db
>>
>> Here are performance evaluation results on SPEC CPU2000 integer tests in
>> user-mode emulation on x86_64 host. There were 5 runs of each test on
>> reference data set. The tables below show runtime in seconds for all these
>> runs.
>
> How are the tests done? Are they done with linux-user, or running the
> executables in qemu-system-xxx?
They were run in user mode on a dedicated machine not doing anything
else. We found system emulation to be too volatile for measuring
anything. Anyway even with user mode and on a dedicated machine there
are some weird performance jumps we can't explain but overall SPEC seems
stable enough to notice influence of such changes in code generation.
>
>> ...
Dmitry
- [Qemu-devel] [PATCH 4/6] Do constant folding for boolean operations., (continued)
Re: [Qemu-devel] [PATCH 0/6] Implement constant folding and copy propagation in TCG, Aurelien Jarno, 2011/05/20