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

_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to