Annotation of OpenXM_contrib/gmp/mpn/mips32/mips.m4, Revision 1.1.1.1
1.1 ohara 1: divert(-1)
2:
3: dnl m4 macros for MIPS assembly code.
4:
5:
6: dnl Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
7: dnl
8: dnl This file is part of the GNU MP Library.
9: dnl
10: dnl The GNU MP Library is free software; you can redistribute it and/or modify
11: dnl it under the terms of the GNU Lesser General Public License as published
12: dnl by the Free Software Foundation; either version 2.1 of the License, or (at
13: dnl your option) any later version.
14: dnl
15: dnl The GNU MP Library is distributed in the hope that it will be useful, but
16: dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17: dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
18: dnl License for more details.
19: dnl
20: dnl You should have received a copy of the GNU Lesser General Public License
21: dnl along with the GNU MP Library; see the file COPYING.LIB. If not, write to
22: dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
23: dnl MA 02111-1307, USA.
24:
25:
26: dnl Usage: ASM_START()
27: define(`ASM_START',
28: m4_assert_numargs(0)
29: ` .set noreorder
30: .set nomacro')
31:
32: dnl Usage: X(value)
33: define(`X',
34: m4_assert_numargs(1)
35: `0x$1')
36:
37: dnl Called: PROLOGUE_cpu(GSYM_PREFIX`'foo)
38: dnl EPILOGUE_cpu(GSYM_PREFIX`'foo)
39:
40: define(`PROLOGUE_cpu',
41: m4_assert_numargs(1)
42: ` .text
43: .align 4
44: .globl $1
45: .ent $1
46: $1:')
47:
48: define(`EPILOGUE_cpu',
49: m4_assert_numargs(1)
50: ` .end $1')
51:
52:
53: dnl Usage: r0 ... r31
54: dnl f0 ... f31
55: dnl
56: dnl Map register names r0 to $0, and f0 to $f0, etc.
57: dnl
58: dnl defreg() is used to protect the $ in $0 (otherwise it would represent a
59: dnl macro argument). Double quoting is used to protect the f0 in $f0
60: dnl (otherwise it would be an infinite recursion).
61:
62: forloop(i,0,31,`defreg(`r'i,$i)')
63: forloop(i,0,31,`deflit(`f'i,``$f''i)')
64:
65:
66: dnl Usage: ASM_END()
67: define(`ASM_END',
68: m4_assert_numargs(0)
69: )
70:
71: divert
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>