From owner-svn-src-all@FreeBSD.ORG Fri Jan 13 00:00:59 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E9DA9106566C; Fri, 13 Jan 2012 00:00:59 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id 7DD178FC18; Fri, 13 Jan 2012 00:00:58 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.4/8.14.4/ALCHEMY.FRANKEN.DE) with ESMTP id q0D00wat055981; Fri, 13 Jan 2012 01:00:58 +0100 (CET) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.4/8.14.4/Submit) id q0D00wk6055980; Fri, 13 Jan 2012 01:00:58 +0100 (CET) (envelope-from marius) Date: Fri, 13 Jan 2012 01:00:57 +0100 From: Marius Strobl To: Ed Schouten Message-ID: <20120113000057.GA23960@alchemy.franken.de> References: <201201121755.q0CHtMA2020344@svn.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201201121755.q0CHtMA2020344@svn.freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230025 - head/contrib/compiler-rt/lib/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jan 2012 00:01:00 -0000 On Thu, Jan 12, 2012 at 05:55:22PM +0000, Ed Schouten wrote: > Author: ed > Date: Thu Jan 12 17:55:22 2012 > New Revision: 230025 > URL: http://svn.freebsd.org/changeset/base/230025 > > Log: > Add SPARC64 version of div/mod written in assembly. > > This version is similar to the code shipped with libgcc. It is based on > the code from the SPARC64 architecture manual, provided without any > restrictions. > > Tested by: flo@ > > +#include "../assembly.h" > + > +.text > + .align 4 > + <...> > +ifelse( ANSWER, `quotient', ` > +DEFINE_COMPILERRT_FUNCTION(__udivsi3) > + save %sp,-64,%sp ! do this for debugging Uhm, these are V8-specific, for V9 the C compiler frame size should be 192 instead of 64 and the function alignment should be 32 instead of 4 bytes (at least with GCC and US1-optimizations enabled as we default to on sparc64), see . However, given that these functions only seem to obtain new register window for debugging purposes you probably alternatively could just remove the saves and the corresponding restores completely. Marius