From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HVSEN-0005y6-Mp for qemu-devel@nongnu.org; Sun, 25 Mar 2007 08:53:55 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HVSEM-0005xp-1U for qemu-devel@nongnu.org; Sun, 25 Mar 2007 08:53:55 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HVSEL-0005xm-Uj for qemu-devel@nongnu.org; Sun, 25 Mar 2007 07:53:53 -0500 Received: from mtaout03-winn.ispmail.ntl.com ([81.103.221.49]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HVSCD-0002If-6P for qemu-devel@nongnu.org; Sun, 25 Mar 2007 08:51:41 -0400 Received: from aamtaout02-winn.ispmail.ntl.com ([81.103.221.35]) by mtaout03-winn.ispmail.ntl.com with ESMTP id <20070325125137.GUGU1468.mtaout03-winn.ispmail.ntl.com@aamtaout02-winn.ispmail.ntl.com> for ; Sun, 25 Mar 2007 13:51:37 +0100 Received: from miranda.arrow ([213.107.21.212]) by aamtaout02-winn.ispmail.ntl.com with ESMTP id <20070325125137.MMMX17393.aamtaout02-winn.ispmail.ntl.com@miranda.arrow> for ; Sun, 25 Mar 2007 13:51:37 +0100 Received: from sdb by miranda.arrow with local (Exim 4.50) id 1HVSC6-0008Ij-Tg for qemu-devel@nongnu.org; Sun, 25 Mar 2007 13:51:34 +0100 Date: Sun, 25 Mar 2007 13:51:34 +0100 From: Stuart Brady Subject: Re: [Qemu-devel] [Bug] [Patch] MIPS code fails at branch instruction Message-ID: <20070325125134.GA31885@miranda.arrow> References: <45FB245C.2010900@mail.berlios.de> <20070317143106.GF25863@networkno.de> <45FC3A07.3070302@weilnetz.de> <200703172032.52010.paul@codesourcery.com> <45FEFAC0.4060901@mail.berlios.de> <20070319213445.GJ28895@networkno.de> <20070319223449.GK28895@networkno.de> <4600277F.6070804@mail.berlios.de> <20070325002234.GA14411@networkno.de> <4605D3B4.4000402@aurel32.net> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4605D3B4.4000402@aurel32.net> 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 Sun, Mar 25, 2007 at 03:43:16AM +0200, Aurelien Jarno wrote: > Thiemo Seufer a écrit : [...] > > - Execute the second branch's delay slot instruction. Increment PC. [...] I'm surprised that this step would be there -- I would have expected it to be simpler to execute the target of the first branch in place of the second branch's delay slot. > Yep I confirm that, it is clearly explained starting at the page 54 of > the SPARC v8 manual. To avoid this behaviour it is possible to cancel > the delay slot instruction by having a=1. SPARC doesn't have the "execute the second branch's delay slot" step. >>From the table on page 56, it seems to execute: branch1 branch2 target of branch1 (one instruction only) target of branch2 (continuing) PA-RISC has the same requirement (PA-RISC 2.0 manual, pages 4-5 and 4-6, and PA-RISC 1.1 manual, page 4-10). -- Stuart Brady