Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Jan 2012 01:00:57 +0100
From:      Marius Strobl <marius@alchemy.franken.de>
To:        Ed Schouten <ed@freebsd.org>
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
Message-ID:  <20120113000057.GA23960@alchemy.franken.de>
In-Reply-To: <201201121755.q0CHtMA2020344@svn.freebsd.org>

index | next in thread | previous in thread | raw e-mail

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 <machine/asm.h>. 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



home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120113000057.GA23960>