From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51267) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCGrZ-0002cq-Ix for qemu-devel@nongnu.org; Thu, 13 Sep 2012 17:22:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TCGrY-0005Uv-9m for qemu-devel@nongnu.org; Thu, 13 Sep 2012 17:22:17 -0400 Received: from hall.aurel32.net ([88.191.126.93]:56408) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCGrY-0005Sw-1I for qemu-devel@nongnu.org; Thu, 13 Sep 2012 17:22:16 -0400 Date: Thu, 13 Sep 2012 23:22:02 +0200 From: Aurelien Jarno Message-ID: <20120913212202.GA833@ohm.aurel32.net> References: <1347557866-7256-1-git-send-email-sw@weilnetz.de> <1347557866-7256-4-git-send-email-sw@weilnetz.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <1347557866-7256-4-git-send-email-sw@weilnetz.de> Subject: Re: [Qemu-devel] [PATCH 3/4] tcg/i386: Remove unused registers from tcg_target_call_iarg_regs List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Weil Cc: Peter Maydell , Alexander Graf , qemu-devel@nongnu.org, Blue Swirl , Richard Henderson On Thu, Sep 13, 2012 at 07:37:45PM +0200, Stefan Weil wrote: > 32 bit x86 hosts don't need registers for helper function arguments > because they use the default stack based calling convention. > > Removing the registers allows simpler code for function > tcg_target_get_call_iarg_regs_count. > > Signed-off-by: Stefan Weil > --- > tcg/i386/tcg-target.c | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) > > diff --git a/tcg/i386/tcg-target.c b/tcg/i386/tcg-target.c > index ef63967..375d87d 100644 > --- a/tcg/i386/tcg-target.c > +++ b/tcg/i386/tcg-target.c > @@ -75,9 +75,7 @@ static const int tcg_target_call_iarg_regs[] = { > TCG_REG_R8, > TCG_REG_R9, > #else > - TCG_REG_EAX, > - TCG_REG_EDX, > - TCG_REG_ECX > + /* 32 bit mode uses stack based calling convention (GCC default). */ > #endif > }; > > @@ -127,11 +125,7 @@ static void patch_reloc(uint8_t *code_ptr, int type, > /* maximum number of register used for input function arguments */ > static inline int tcg_target_get_call_iarg_regs_count(int flags) > { > - if (TCG_TARGET_REG_BITS == 64) { > - return ARRAY_SIZE(tcg_target_call_iarg_regs); > - } > - > - return 0; > + return ARRAY_SIZE(tcg_target_call_iarg_regs); > } > > /* parse target specific constraints */ > -- > 1.7.10 > > Reviewed-by: Aurelien Jarno -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net