! SPARC v9 64-bit VIS3 __mpn_sub_n -- Subtract two limb vectors of the same length > 0
! and store difference in a third limb vector.
!
! Copyright (C) 2013-2014 Free Software Foundation, Inc.
! This file is part of the GNU C Library.
! Contributed by David S. Miller <davem@davemloft.net>
!
! The GNU C Library is free software; you can redistribute it and/or
! modify it under the terms of the GNU Lesser General Public
! License as published by the Free Software Foundation; either
! version 2.1 of the License, or (at your option) any later version.
!
! The GNU C Library is distributed in the hope that it will be useful,
! but WITHOUT ANY WARRANTY; without even the implied warranty of
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
! Lesser General Public License for more details.
!
! You should have received a copy of the GNU Lesser General Public
! License along with the GNU C Library; if not, see
! <http://www.gnu.org/licenses/>.

#include <sysdep.h>

#define res_ptr	%o0
#define s1_ptr	%o1
#define s2_ptr	%o2
#define sz	%o3
#define tmp1	%g1
#define tmp2	%g2
#define tmp3	%g3
#define tmp4	%o4

	.register	%g2,#scratch
	.register	%g3,#scratch
ENTRY(__mpn_sub_n_vis3)
	subcc	sz, 1, sz
	be	.Lfinal_limb
	 cmp	%g0, 1

.Lloop:
	ldx	[s2_ptr + 0x00], tmp1
	add	s2_ptr, 0x10, s2_ptr
	ldx	[s1_ptr + 0x00], tmp2
	add	s1_ptr, 0x10, s1_ptr
	ldx	[s2_ptr - 0x08], tmp3
	add	res_ptr, 0x10, res_ptr
	ldx	[s1_ptr - 0x08], tmp4
	sub	sz, 2, sz
	xnor	tmp1, %g0, tmp1
	addxccc	tmp1, tmp2, tmp1
	stx	tmp1, [res_ptr - 0x10]
	xnor	tmp3, %g0, tmp3
	addxccc	tmp3, tmp4, tmp3
	brgz	sz, .Lloop
	stx	tmp3, [res_ptr - 0x08]

	brlz,pt	sz, .Lfinish
	 nop

.Lfinal_limb:
	ldx	[s2_ptr + 0x00], tmp1
	ldx	[s1_ptr + 0x00], tmp2
	xnor	tmp1, %g0, tmp1
	addxccc	tmp1, tmp2, tmp1
	stx	tmp1, [res_ptr + 0x00]

.Lfinish:
	clr	%o0
	retl
	 movcc	%xcc, 1, %o0
END(__mpn_sub_n_vis3)
