From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N7BrW-0007WZ-Ge for qemu-devel@nongnu.org; Sun, 08 Nov 2009 12:47:38 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N7BrR-0007UD-4P for qemu-devel@nongnu.org; Sun, 08 Nov 2009 12:47:37 -0500 Received: from [199.232.76.173] (port=51504 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N7BrQ-0007U5-R5 for qemu-devel@nongnu.org; Sun, 08 Nov 2009 12:47:32 -0500 Received: from mail-iw0-f180.google.com ([209.85.223.180]:57508) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N7BrQ-0006A3-EF for qemu-devel@nongnu.org; Sun, 08 Nov 2009 12:47:32 -0500 Received: by iwn10 with SMTP id 10so1901034iwn.4 for ; Sun, 08 Nov 2009 09:47:30 -0800 (PST) MIME-Version: 1.0 Date: Sun, 8 Nov 2009 09:47:30 -0800 Message-ID: From: Chad Content-Type: multipart/alternative; boundary=000e0cd6aa06cfa99d0477dfab3b Subject: [Qemu-devel] Performance bug in tcg/i386 output: List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --000e0cd6aa06cfa99d0477dfab3b Content-Type: text/plain; charset=ISO-8859-1 Running qemu[-i386] with -d out_asm and looking at qemu.out shows this test/j**/jmp pattern repeatedly: 0xb1aa40f6: test %ecx,%ecx 0xb1aa40f8: jne 0xb1aa4115 0xb1aa40fe: jmp 0xb1aa4103 0xb1aa4103: mov $0xc0bf,%eax Therefore there's a bug in the tcg generator creating many unnecessary jmps. It might get optimized out by the CPU, but it might not and it bloats the asm output in any case... - Chad --000e0cd6aa06cfa99d0477dfab3b Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Running qemu[-i386] with -d out_asm and looking at qemu.out shows this test= /j**/jmp pattern repeatedly:

0xb1aa40f6:=A0 test=A0=A0 %ecx,%ecx
= 0xb1aa40f8:=A0 jne=A0=A0=A0 0xb1aa4115
0xb1aa40fe:=A0 jmp=A0=A0=A0 0xb1a= a4103
0xb1aa4103:=A0 mov=A0=A0=A0 $0xc0bf,%eax

Therefore there's a bug in the tcg generator creating many unnecess= ary jmps.=A0 It might get optimized out by the CPU, but it might not and it= bloats the asm output in any case...

- Chad
--000e0cd6aa06cfa99d0477dfab3b--