List Info

Thread: mpn/sh/*.s: Transform to m4-ccas format.




mpn/sh/*.s: Transform to m4-ccas format.
country flaguser name
Japan
2007-06-10 08:41:27
Hello,

In version 4.2.1,
cofigure script which seeks PROLOGUE() or so failes to
detect that sh(SuperH)
has native code, because files under mpn/sh/ are plain
assembler file.

I changed some files to make them processed via m4-ccas.
All "make check" tests passed at least on sh3(=a
variant of sh)linux platform.

Copyright notice has left untouched, because this is only
formatting change.
The new file, mpn/sh/sh-defs.m4, carries FSF's copyright
notice as other m4
files which are used as a reference do.

Plese notify me if my copyright notice or explicit
assignment is needed.
I don't think there is my own property, though.

Best regards,
/yoshii

2007-06-10  Takashi YOSHII <takasi-yops.dti.ne.jp>

	* configure.in (sh-*-*): Unify sh,2,3 and 4. And add
include_mpn.
	* mpn/sh/sh-defs.m4: New file.
	* mpn/sh/add_n.s: Transform to m4-ccas format, and rename
to *.asm.
	* mpn/sh/add_n.s,mpn/sh/sub_n.s: Ditto.
	* mpn/sh/sh2/addmul_1.s,mpn/sh/sh2/mul_1.s,
mpn/sh/sh2/submul_1.s: Ditto.

diff --git a/configure.in b/configure.in
index 450cc92..37382a8 100644
--- a/configure.in
+++ b/configure.in
 -1058,8
+1058,15  case $host in
     ;;
 
 
-  sh-*-*)   path="sh" ;;
-  sh2-*-*)  path="sh/sh2 sh" ;;
+  sh-*-* | sh[234]*-*-*)
+echo "include_mpn(`sh/sh-defs.m4')" >>
$gmp_tmpconfigm4i
+    case $host in
+      sh2*)
+        path="sh/sh2 sh" ;;
+      *)
+        path="sh" ;;
+    esac
+    ;;
 
 
   *sparc*-*-*)
diff --git a/mpn/sh/add_n.asm b/mpn/sh/add_n.asm
new file mode 100644
index 0000000..44eef7d
--- /dev/null
+++ b/mpn/sh/add_n.asm
 -0,0
+1,47 
+dnl  SH mpn_add_n -- Add two limb vectors of the same
length > 0 and store
+dnl  sum in a third limb vector.
+
+dnl  Copyright 1995, 1997, 2000 Free Software Foundation,
Inc.
+
+dnl  This file is part of the GNU MP Library.
+
+dnl  The GNU MP Library is free software; you can
redistribute it and/or modify
+dnl  it under the terms of the GNU Lesser General Public
License as published by
+dnl  the Free Software Foundation; either version 2.1 of
the License, or (at
+dnl  your option) any later version.
+
+dnl  The GNU MP Library is distributed in the hope that it
will be useful, but
+dnl  WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY
+dnl  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public
+dnl  License for more details.
+
+dnl  You should have received a copy of the GNU Lesser
General Public License
+dnl  along with the GNU MP Library; see the file
COPYING.LIB.  If not, write to
+dnl  the Free Software Foundation, Inc., 51 Franklin
Street, Fifth Floor,
+dnl  Boston, MA 02110-1301, USA.
+
+include(`../config.m4')
+
+C INPUT PARAMETERS
+C res_ptr	r4
+C s1_ptr	r5
+C s2_ptr	r6
+C size		r7
+
+ASM_START()
+PROLOGUE(mpn_add_n)
+	mov	#0,r3		! clear cy save reg
+
+Loop:	mov.l	r5+,r1
+	mov.l	r6+,r2
+	shlr	r3		! restore cy
+	addc	r2,r1
+	movt	r3		! save cy
+	mov.l	r1,r4
+	dt	r7
+	bf.s	Loop
+	 add	#4,r4
+
+	rts
+	mov	r3,r0		! return carry-out from most sign. limb
+EPILOGUE(mpn_add_n)
diff --git a/mpn/sh/add_n.s b/mpn/sh/add_n.s
deleted file mode 100644
index b37905c..0000000
--- a/mpn/sh/add_n.s
+++ /dev/null
 -1,47
+0,0 
-! SH __gmpn_add_n -- Add two limb vectors of the same
length > 0 and store
-! sum in a third limb vector.
-
-! Copyright 1995, 1997, 2000 Free Software Foundation,
Inc.
-
-! This file is part of the GNU MP Library.
-
-! The GNU MP 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 MP 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 MP Library; see the file COPYING.LIB. 
If not, write to
-! the Free Software Foundation, Inc., 51 Franklin Street,
Fifth Floor, Boston,
-! MA 02110-1301, USA.
-
-
-! INPUT PARAMETERS
-! res_ptr	r4
-! s1_ptr	r5
-! s2_ptr	r6
-! size		r7
-
-	.text
-	.align 2
-	.global	___gmpn_add_n
-___gmpn_add_n:
-	mov	#0,r3		! clear cy save reg
-
-Loop:	mov.l	r5+,r1
-	mov.l	r6+,r2
-	shlr	r3		! restore cy
-	addc	r2,r1
-	movt	r3		! save cy
-	mov.l	r1,r4
-	dt	r7
-	bf.s	Loop
-	 add	#4,r4
-
-	rts
-	mov	r3,r0		! return carry-out from most sign. limb
diff --git a/mpn/sh/sh-defs.m4 b/mpn/sh/sh-defs.m4
new file mode 100644
index 0000000..9623d07
--- /dev/null
+++ b/mpn/sh/sh-defs.m4
 -0,0
+1,38 
+divert(-1)
+
+dnl  m4 macros for SH assembler.
+dnl 
+dnl  Copyright 2007 Free Software Foundation, Inc.
+dnl  
+dnl  This file is part of the GNU MP Library.
+dnl  
+dnl  The GNU MP Library is free software; you can
redistribute it and/or modify
+dnl  it under the terms of the GNU Lesser General Public
License as published by
+dnl  the Free Software Foundation; either version 2.1 of
the License, or (at
+dnl  your option) any later version.
+dnl  
+dnl  The GNU MP Library is distributed in the hope that it
will be useful, but
+dnl  WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY
+dnl  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public
+dnl  License for more details.
+dnl  
+dnl  You should have received a copy of the GNU Lesser
General Public License
+dnl  along with the GNU MP Library; see the file
COPYING.LIB.  If not, write to
+dnl  the Free Software Foundation, Inc., 51 Franklin
Street, Fifth Floor,
+dnl  Boston, MA 02110-1301, USA.
+
+changecom(!)
+
+define(`PROLOGUE_cpu',
+m4_assert_numargs(1)
+`	TEXT
+	ALIGN(2)
+	GLOBL	`$1' GLOBL_ATTR
+	TYPE(`$1',`function')
+`$1'LABEL_SUFFIX')
+
+define(`EPILOGUE_cpu',
+m4_assert_numargs(1)
+`')
+
+divert
diff --git a/mpn/sh/sh2/addmul_1.asm
b/mpn/sh/sh2/addmul_1.asm
new file mode 100644
index 0000000..56de6ec
--- /dev/null
+++ b/mpn/sh/sh2/addmul_1.asm
 -0,0
+1,53 
+dnl  SH2 mpn_addmul_1 -- Multiply a limb vector with a limb
and add
+dnl  the result to a second limb vector.
+
+dnl  Copyright 1995, 2000 Free Software Foundation, Inc.
+
+dnl  This file is part of the GNU MP Library.
+
+dnl  The GNU MP Library is free software; you can
redistribute it and/or modify
+dnl  it under the terms of the GNU Lesser General Public
License as published by
+dnl  the Free Software Foundation; either version 2.1 of
the License, or (at
+dnl  your option) any later version.
+
+dnl  The GNU MP Library is distributed in the hope that it
will be useful, but
+dnl  WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY
+dnl  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public
+dnl  License for more details.
+
+dnl  You should have received a copy of the GNU Lesser
General Public License
+dnl  along with the GNU MP Library; see the file
COPYING.LIB.  If not, write to
+dnl  the Free Software Foundation, Inc., 51 Franklin
Street, Fifth Floor,
+dnl  Boston, MA 02110-1301, USA.
+
+include(`../config.m4')
+
+C INPUT PARAMETERS
+C res_ptr	r4
+C s1_ptr	r5
+C size		r6
+C s2_limb	r7
+
+ASM_START()
+PROLOGUE(mpn_addmul_1)
+	mov	#0,r2		! cy_limb = 0
+	mov	#0,r0		! Keep r0 = 0 for entire loop
+	clrt
+
+Loop:	mov.l	r5+,r3
+	dmulu.l	r3,r7
+	sts	macl,r1
+	addc	r2,r1		! lo_prod += old cy_limb
+	sts	mach,r2		! new cy_limb = hi_prod
+	mov.l	r4,r3
+	addc	r0,r2		! cy_limb += T, T = 0
+	addc	r3,r1
+	addc	r0,r2		! cy_limb += T, T = 0
+	dt	r6
+	mov.l	r1,r4
+	bf.s	Loop
+	add	#4,r4
+
+	rts
+	mov	r2,r0
+EPILOGUE(mpn_addmul_1)
diff --git a/mpn/sh/sh2/addmul_1.s b/mpn/sh/sh2/addmul_1.s
deleted file mode 100644
index b013520..0000000
--- a/mpn/sh/sh2/addmul_1.s
+++ /dev/null
 -1,53
+0,0 
-! SH2 __gmpn_addmul_1 -- Multiply a limb vector with a limb
and add
-! the result to a second limb vector.
-
-! Copyright 1995, 2000 Free Software Foundation, Inc.
-
-! This file is part of the GNU MP Library.
-
-! The GNU MP 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 MP 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 MP Library; see the file COPYING.LIB. 
If not, write to
-! the Free Software Foundation, Inc., 51 Franklin Street,
Fifth Floor, Boston,
-! MA 02110-1301, USA.
-
-
-! INPUT PARAMETERS
-! res_ptr	r4
-! s1_ptr	r5
-! size		r6
-! s2_limb	r7
-
-	.text
-	.align 1
-	.global	___gmpn_addmul_1
-___gmpn_addmul_1:
-	mov	#0,r2		! cy_limb = 0
-	mov	#0,r0		! Keep r0 = 0 for entire loop
-	clrt
-
-Loop:	mov.l	r5+,r3
-	dmulu.l	r3,r7
-	sts	macl,r1
-	addc	r2,r1		! lo_prod += old cy_limb
-	sts	mach,r2		! new cy_limb = hi_prod
-	mov.l	r4,r3
-	addc	r0,r2		! cy_limb += T, T = 0
-	addc	r3,r1
-	addc	r0,r2		! cy_limb += T, T = 0
-	dt	r6
-	mov.l	r1,r4
-	bf.s	Loop
-	add	#4,r4
-
-	rts
-	mov	r2,r0
diff --git a/mpn/sh/sh2/mul_1.asm b/mpn/sh/sh2/mul_1.asm
new file mode 100644
index 0000000..ae24f82
--- /dev/null
+++ b/mpn/sh/sh2/mul_1.asm
 -0,0
+1,50 
+dnl  SH2 mpn_mul_1 -- Multiply a limb vector with a limb
and store
+dnl  the result in a second limb vector.
+
+dnl  Copyright 1995, 2000 Free Software Foundation, Inc.
+
+dnl  This file is part of the GNU MP Library.
+
+dnl  The GNU MP Library is free software; you can
redistribute it and/or modify
+dnl  it under the terms of the GNU Lesser General Public
License as published by
+dnl  the Free Software Foundation; either version 2.1 of
the License, or (at
+dnl  your option) any later version.
+
+dnl  The GNU MP Library is distributed in the hope that it
will be useful, but
+dnl  WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY
+dnl  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public
+dnl  License for more details.
+
+dnl  You should have received a copy of the GNU Lesser
General Public License
+dnl  along with the GNU MP Library; see the file
COPYING.LIB.  If not, write to
+dnl  the Free Software Foundation, Inc., 51 Franklin
Street, Fifth Floor,
+dnl  Boston, MA 02110-1301, USA.
+
+include(`../config.m4')
+
+C INPUT PARAMETERS
+C res_ptr	r4
+C s1_ptr	r5
+C size		r6
+C s2_limb	r7
+
+ASM_START()
+PROLOGUE(mpn_mul_1)
+	mov	#0,r2		! cy_limb = 0
+	mov	#0,r0		! Keep r0 = 0 for entire loop
+	clrt
+
+Loop:	mov.l	r5+,r3
+	dmulu.l	r3,r7
+	sts	macl,r1
+	addc	r2,r1
+	sts	mach,r2
+	addc	r0,r2		! propagate carry to cy_limb (dt clobbers T)
+	dt	r6
+	mov.l	r1,r4
+	bf.s	Loop
+	add	#4,r4
+
+	rts
+	mov	r2,r0
+EPILOGUE(mpn_mul_1)
diff --git a/mpn/sh/sh2/mul_1.s b/mpn/sh/sh2/mul_1.s
deleted file mode 100644
index 9d27e06..0000000
--- a/mpn/sh/sh2/mul_1.s
+++ /dev/null
 -1,50
+0,0 
-! SH2 __gmpn_mul_1 -- Multiply a limb vector with a limb
and store
-! the result in a second limb vector.
-
-! Copyright 1995, 2000 Free Software Foundation, Inc.
-
-! This file is part of the GNU MP Library.
-
-! The GNU MP 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 MP 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 MP Library; see the file COPYING.LIB. 
If not, write to
-! the Free Software Foundation, Inc., 51 Franklin Street,
Fifth Floor, Boston,
-! MA 02110-1301, USA.
-
-
-! INPUT PARAMETERS
-! res_ptr	r4
-! s1_ptr	r5
-! size		r6
-! s2_limb	r7
-
-	.text
-	.align 1
-	.global	___gmpn_mul_1
-___gmpn_mul_1:
-	mov	#0,r2		! cy_limb = 0
-	mov	#0,r0		! Keep r0 = 0 for entire loop
-	clrt
-
-Loop:	mov.l	r5+,r3
-	dmulu.l	r3,r7
-	sts	macl,r1
-	addc	r2,r1
-	sts	mach,r2
-	addc	r0,r2		! propagate carry to cy_limb (dt clobbers T)
-	dt	r6
-	mov.l	r1,r4
-	bf.s	Loop
-	add	#4,r4
-
-	rts
-	mov	r2,r0
diff --git a/mpn/sh/sh2/submul_1.asm
b/mpn/sh/sh2/submul_1.asm
new file mode 100644
index 0000000..7205f2d
--- /dev/null
+++ b/mpn/sh/sh2/submul_1.asm
 -0,0
+1,53 
+dnl  SH2 mpn_submul_1 -- Multiply a limb vector with a limb
and subtract
+dnl  the result from a second limb vector.
+
+dnl  Copyright 1995, 2000 Free Software Foundation, Inc.
+
+dnl  This file is part of the GNU MP Library.
+
+dnl  The GNU MP Library is free software; you can
redistribute it and/or modify
+dnl  it under the terms of the GNU Lesser General Public
License as published by
+dnl  the Free Software Foundation; either version 2.1 of
the License, or (at
+dnl  your option) any later version.
+
+dnl  The GNU MP Library is distributed in the hope that it
will be useful, but
+dnl  WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY
+dnl  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public
+dnl  License for more details.
+
+dnl  You should have received a copy of the GNU Lesser
General Public License
+dnl  along with the GNU MP Library; see the file
COPYING.LIB.  If not, write to
+dnl  the Free Software Foundation, Inc., 51 Franklin
Street, Fifth Floor,
+dnl  Boston, MA 02110-1301, USA.
+
+include(`../config.m4')
+
+C INPUT PARAMETERS
+C res_ptr	r4
+C s1_ptr	r5
+C size		r6
+C s2_limb	r7
+
+ASM_START()
+PROLOGUE(mpn_submul_1)
+	mov	#0,r2		! cy_limb = 0
+	mov	#0,r0		! Keep r0 = 0 for entire loop
+	clrt
+
+Loop:	mov.l	r5+,r3
+	dmulu.l	r3,r7
+	sts	macl,r1
+	addc	r2,r1		! lo_prod += old cy_limb
+	sts	mach,r2		! new cy_limb = hi_prod
+	mov.l	r4,r3
+	addc	r0,r2		! cy_limb += T, T = 0
+	subc	r3,r1
+	addc	r0,r2		! cy_limb += T, T = 0
+	dt	r6
+	mov.l	r1,r4
+	bf.s	Loop
+	add	#4,r4
+
+	rts
+	mov	r2,r0
+EPILOGUE(mpn_submul_1)
diff --git a/mpn/sh/sh2/submul_1.s b/mpn/sh/sh2/submul_1.s
deleted file mode 100644
index 50faf63..0000000
--- a/mpn/sh/sh2/submul_1.s
+++ /dev/null
 -1,53
+0,0 
-! SH2 __gmpn_submul_1 -- Multiply a limb vector with a limb
and subtract
-! the result from a second limb vector.
-
-! Copyright 1995, 2000 Free Software Foundation, Inc.
-
-! This file is part of the GNU MP Library.
-
-! The GNU MP 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 MP 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 MP Library; see the file COPYING.LIB. 
If not, write to
-! the Free Software Foundation, Inc., 51 Franklin Street,
Fifth Floor, Boston,
-! MA 02110-1301, USA.
-
-
-! INPUT PARAMETERS
-! res_ptr	r4
-! s1_ptr	r5
-! size		r6
-! s2_limb	r7
-
-	.text
-	.align 1
-	.global	___gmpn_submul_1
-___gmpn_submul_1:
-	mov	#0,r2		! cy_limb = 0
-	mov	#0,r0		! Keep r0 = 0 for entire loop
-	clrt
-
-Loop:	mov.l	r5+,r3
-	dmulu.l	r3,r7
-	sts	macl,r1
-	addc	r2,r1		! lo_prod += old cy_limb
-	sts	mach,r2		! new cy_limb = hi_prod
-	mov.l	r4,r3
-	addc	r0,r2		! cy_limb += T, T = 0
-	subc	r3,r1
-	addc	r0,r2		! cy_limb += T, T = 0
-	dt	r6
-	mov.l	r1,r4
-	bf.s	Loop
-	add	#4,r4
-
-	rts
-	mov	r2,r0
diff --git a/mpn/sh/sub_n.asm b/mpn/sh/sub_n.asm
new file mode 100644
index 0000000..c68e396
--- /dev/null
+++ b/mpn/sh/sub_n.asm
 -0,0
+1,47 
+dnl  SH mpn_sub_n -- Subtract two limb vectors of the same
length > 0 and store
+dnl  difference in a third limb vector.
+
+dnl  Copyright 1995, 1997, 2000 Free Software Foundation,
Inc.
+
+dnl  This file is part of the GNU MP Library.
+
+dnl  The GNU MP Library is free software; you can
redistribute it and/or modify
+dnl  it under the terms of the GNU Lesser General Public
License as published by
+dnl  the Free Software Foundation; either version 2.1 of
the License, or (at
+dnl  your option) any later version.
+
+dnl  The GNU MP Library is distributed in the hope that it
will be useful, but
+dnl  WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY
+dnl  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public
+dnl  License for more details.
+
+dnl  You should have received a copy of the GNU Lesser
General Public License
+dnl  along with the GNU MP Library; see the file
COPYING.LIB.  If not, write to
+dnl  the Free Software Foundation, Inc., 51 Franklin
Street, Fifth Floor,
+dnl  Boston, MA 02110-1301, USA.
+
+include(`../config.m4')
+
+C INPUT PARAMETERS
+C res_ptr	r4
+C s1_ptr	r5
+C s2_ptr	r6
+C size		r7
+
+ASM_START()
+PROLOGUE(mpn_sub_n)
+	mov	#0,r3		! clear cy save reg
+
+Loop:	mov.l	r5+,r1
+	mov.l	r6+,r2
+	shlr	r3		! restore cy
+	subc	r2,r1
+	movt	r3		! save cy
+	mov.l	r1,r4
+	dt	r7
+	bf.s	Loop
+	 add	#4,r4
+
+	rts
+	mov	r3,r0		! return carry-out from most sign. limb
+EPILOGUE(mpn_sub_n)
diff --git a/mpn/sh/sub_n.s b/mpn/sh/sub_n.s
deleted file mode 100644
index db27a31..0000000
--- a/mpn/sh/sub_n.s
+++ /dev/null
 -1,47
+0,0 
-! SH __gmpn_sub_n -- Subtract two limb vectors of the same
length > 0 and store
-! difference in a third limb vector.
-
-! Copyright 1995, 1997, 2000 Free Software Foundation,
Inc.
-
-! This file is part of the GNU MP Library.
-
-! The GNU MP 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 MP 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 MP Library; see the file COPYING.LIB. 
If not, write to
-! the Free Software Foundation, Inc., 51 Franklin Street,
Fifth Floor, Boston,
-! MA 02110-1301, USA.
-
-
-! INPUT PARAMETERS
-! res_ptr	r4
-! s1_ptr	r5
-! s2_ptr	r6
-! size		r7
-
-	.text
-	.align 2
-	.global	___gmpn_sub_n
-___gmpn_sub_n:
-	mov	#0,r3		! clear cy save reg
-
-Loop:	mov.l	r5+,r1
-	mov.l	r6+,r2
-	shlr	r3		! restore cy
-	subc	r2,r1
-	movt	r3		! save cy
-	mov.l	r1,r4
-	dt	r7
-	bf.s	Loop
-	 add	#4,r4
-
-	rts
-	mov	r3,r0		! return carry-out from most sign. limb
_______________________________________________
gmp-bugs mailing list
gmp-bugsswox.com
http://swox
.com/mailman/listinfo/gmp-bugs

Re: mpn/sh/*.s: Transform to m4-ccas format.
country flaguser name
Sweden
2007-06-14 07:37:23
It seems odd that the configure script doesn't detect the .s
files.  I
tested "configure --host=sh2-unknown-linux-gnu"
and it worked as it
should.  (Admittedly, I did that on a non-SH non-Linux
system.)

What is your evidence for that configure really fails to
detect the
SH assembly code?

-- 
Torbjörn
_______________________________________________
gmp-bugs mailing list
gmp-bugsswox.com
http://swox
.com/mailman/listinfo/gmp-bugs

Re: mpn/sh/*.s: Transform to m4-ccas format.
country flaguser name
Japan
2007-06-14 11:03:25
Thank you for your reply.

> It seems odd that the configure script doesn't detect
the .s files.  I
> tested "configure
--host=sh2-unknown-linux-gnu" and it worked as it
> should.  (Admittedly, I did that on a non-SH non-Linux
system.)
Yes it detects .s files, but doesn't detect that
mpn_{add,sub}_n functions
are defined.

> What is your evidence for that configure really fails
to detect the
> SH assembly code?
Please try this.
 $ ./configure --host=sh2-unknown-linux-gnu
 $ grep "define HAVE_NATIVE" config.h
This should produce following output.
 #define HAVE_NATIVE_mpn_add_n 1
 #define HAVE_NATIVE_mpn_sub_n 1
But, nothing cames out without the patch.

And, this results a problem in addsub_n.c.
# Sorry, I should have explained this first.

The file mpn/addsub_n.c have lines like following.
| #if HAVE_NATIVE_mpn_add_nc || !HAVE_NATIVE_mpn_add_n
|           acyo = mpn_add_nc (r1p + off, s1p + off, s2p +
off, this_n, acyo);
| #else
|           acyn = mpn_add_n (r1p + off, s1p + off, s2p +
off, this_n);
|           acyo = acyn + mpn_add_1 (r1p + off, r1p + off,
this_n, acyo);
| #endif

Without the fix, "then clause(?)" is selected
instead of "else clause"
because HAVE_NATIVE_mpn_add_n is not defined, 
But because mpn_add_nc() is also not defined, this symbol is
left in the
library as an unresolved symbol. This makes the library
useless.

Hope I could explain the issue this time....

Best regards,
/yoshii
_______________________________________________
gmp-bugs mailing list
gmp-bugsswox.com
http://swox
.com/mailman/listinfo/gmp-bugs

Re: mpn/sh/*.s: Transform to m4-ccas format.
country flaguser name
Sweden
2007-06-15 10:31:09
takasi-yops.dti.ne.jp writes:

  And, this results a problem in addsub_n.c.

The fix for that is http://gmplib
.org/patches/x86-fat.diff.

(The patch name might be confusing, it should be named
"gnulinux-linker-silliness.diff", perhaps.)

-- 
Torbjörn
_______________________________________________
gmp-bugs mailing list
gmp-bugsswox.com
http://swox
.com/mailman/listinfo/gmp-bugs

[1-4]

about | contact  Other archives ( Real Estate discussion Medical topics )