Annotation of OpenXM_contrib/gmp/mpn/alpha/default.m4, Revision 1.1.1.2
1.1 maekawa 1: divert(-1)
2:
1.1.1.2 ! ohara 3: dnl m4 macros for alpha assembler (everywhere except unicos).
1.1 maekawa 4:
1.1.1.2 ! ohara 5:
! 6: dnl Copyright 2000, 2002 Free Software Foundation, Inc.
! 7: dnl
1.1 maekawa 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
11: dnl modify it under the terms of the GNU Lesser General Public License as
12: dnl published by the Free Software Foundation; either version 2.1 of the
13: dnl License, or (at your option) any later version.
14: dnl
15: dnl The GNU MP Library is distributed in the hope that it will be useful,
16: dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
17: dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18: dnl Lesser General Public License for more details.
19: dnl
20: dnl You should have received a copy of the GNU Lesser General Public
21: dnl License along with the GNU MP Library; see the file COPYING.LIB. If
22: dnl not, write to the Free Software Foundation, Inc., 59 Temple Place -
23: dnl Suite 330, Boston, MA 02111-1307, USA.
24:
25:
1.1.1.2 ! ohara 26: dnl Usage: ASM_START()
1.1 maekawa 27: define(`ASM_START',
1.1.1.2 ! ohara 28: m4_assert_numargs(0)
! 29: ` .set noreorder
1.1 maekawa 30: .set noat')
31:
1.1.1.2 ! ohara 32: dnl Usage: X(value)
! 33: define(`X',
! 34: m4_assert_numargs(1)
! 35: `0x$1')
! 36:
! 37: dnl Usage: FLOAT64(label,value)
1.1 maekawa 38: define(`FLOAT64',
1.1.1.2 ! ohara 39: m4_assert_numargs(2)
! 40: ` .align 3
1.1 maekawa 41: $1: .t_floating $2')
42:
1.1.1.2 ! ohara 43:
! 44: dnl Called: PROLOGUE_cpu(GSYM_PREFIX`'foo[,gp|noalign])
! 45: dnl EPILOGUE_cpu(GSYM_PREFIX`'foo)
! 46:
! 47: define(`PROLOGUE_cpu',
! 48: m4_assert_numargs_range(1,2)
! 49: `ifelse(`$2',gp,,
! 50: `ifelse(`$2',noalign,,
! 51: `ifelse(`$2',,,`m4_error(`Unrecognised PROLOGUE parameter
! 52: ')')')')dnl
1.1 maekawa 53: .text
1.1.1.2 ! ohara 54: ifelse(`$2',noalign,,` ALIGN(8)')
1.1 maekawa 55: .globl $1
56: .ent $1
57: $1:
1.1.1.2 ! ohara 58: ifelse(`$2',gp,` ldgp r29,0(r27)')
1.1 maekawa 59: .frame r30,0,r26
1.1.1.2 ! ohara 60: .prologue ifelse(`$2',gp,1,0)')
1.1 maekawa 61:
1.1.1.2 ! ohara 62: define(`EPILOGUE_cpu',
! 63: m4_assert_numargs(1)
! 64: ` .end $1')
! 65:
! 66:
! 67: dnl Usage: EXTERN(variable_name)
! 68: define(`EXTERN',
! 69: m4_assert_numargs(1)
1.1 maekawa 70: )
71:
1.1.1.2 ! ohara 72: dnl Usage: r0 ... r31
! 73: dnl f0 ... f31
! 74: dnl
! 75: dnl Map register names r0 to $0, and f0 to $f0, etc.
! 76: dnl This is needed on all systems but Unicos
! 77: dnl
! 78: dnl defreg() is used to protect the $ in $0 (otherwise it would represent a
! 79: dnl macro argument). Double quoting is used to protect the f0 in $f0
! 80: dnl (otherwise it would be an infinite recursion).
! 81:
! 82: forloop(i,0,31,`defreg(`r'i,$i)')
! 83: forloop(i,0,31,`deflit(`f'i,``$f''i)')
! 84:
! 85:
! 86: dnl Usage: DATASTART(name)
! 87: dnl DATAEND()
! 88:
1.1 maekawa 89: define(`DATASTART',
1.1.1.2 ! ohara 90: m4_assert_numargs(1)
! 91: ` DATA
1.1 maekawa 92: $1:')
1.1.1.2 ! ohara 93: define(`DATAEND',
! 94: m4_assert_numargs(0)
! 95: )
1.1 maekawa 96:
1.1.1.2 ! ohara 97: dnl Load a symbolic address into a register
! 98: define(`LEA',
! 99: m4_assert_numargs(2)
! 100: `lda $1, $2')
! 101:
! 102: dnl Need some stuff for extwl just for bigend systems. Define to empty.
! 103: define(`bigend',
! 104: m4_assert_numargs(1)
! 105: `')
! 106:
! 107: dnl Usage: ASM_END()
! 108: define(`ASM_END',
! 109: m4_assert_numargs(0)
! 110: )
1.1 maekawa 111:
112: divert
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>