From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LRpQa-000431-Ca for qemu-devel@nongnu.org; Tue, 27 Jan 2009 10:00:36 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LRpQZ-00041X-2j for qemu-devel@nongnu.org; Tue, 27 Jan 2009 10:00:35 -0500 Received: from [199.232.76.173] (port=44342 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LRpQY-00041F-OB for qemu-devel@nongnu.org; Tue, 27 Jan 2009 10:00:34 -0500 Received: from ey-out-1920.google.com ([74.125.78.149]:12449) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LRpQY-0004Ol-7U for qemu-devel@nongnu.org; Tue, 27 Jan 2009 10:00:34 -0500 Received: by ey-out-1920.google.com with SMTP id 26so788778eyw.4 for ; Tue, 27 Jan 2009 07:00:32 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <497ED233.7010504@suse.de> References: <1232826287-18542-1-git-send-email-agraf@suse.de> <200901270034.04844.paul@codesourcery.com> <20090127004232.GE9296@shareable.org> <200901270059.21958.paul@codesourcery.com> <497E61DE.2080802@us.ibm.com> <497ED233.7010504@suse.de> Date: Tue, 27 Jan 2009 16:00:32 +0100 Message-ID: <761ea48b0901270700g208c28b1r3c57f0f3c59d109c@mail.gmail.com> Subject: Re: [Qemu-devel] [PATCH] Enabled building of x86_64 code on Mac OS X From: Laurent Desnogues Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On Tue, Jan 27, 2009 at 10:21 AM, Alexander Graf wrote: > > The extra registers should speed up things quite a bit. While that's not > too much of a problem when emulating x86, which has few registers > anyway, emulating a ppc or x86_64 target should be faster on an x86_64 > host. I haven't done measurements though. > > As for the plus in code size on x86_64 - that doesn't really apply to > tcg, as that still generates 32-bit code when only 32-bit code is > necessary, which still looks the same on x86_64. Plus it does simplify > 64-bit operations. > > I would be very surprised if the improvement of emulating x86_64 on x86 > vs. x86_64 is only ~10%. Here is a quick result for user mode. x on y means running an target x on host y (the host is the same, I just forced --cpu=i386 when compiling qemu). Host: CentOS 5.2 x86_64, E6600 (2.4GHz) Benchmark: Spec2k gcc/integrate (compiled with gcc 4.1.2 -O2) i386 on x86_64 gen code size 4005696/33497088 TB count 30704/524288 real 0m24.983s/user 0m24.834s x86_64 on x86_64 gen code size 4413408/33497088 TB count 30247/524288 real 0m24.932s/user 0m24.749s i386 on i386 gen code size 3439008/33497088 TB count 30704/524288 real 0m26.391s/user 0m26.131s x86_64 on i386 gen code size 5715248/33497088 TB count 30254/524288 real 0m28.233s/user 0m27.985s Laurent