Annotation of OpenXM_contrib/gmp/mpn/alpha/unicos.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 on 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 Note that none of the standard GMP_ASM_ autoconf tests are done for
! 27: dnl unicos, so none of the config.m4 results can be used here.
! 28:
! 29: dnl No underscores on unicos
! 30: define(`GSYM_PREFIX')
! 31:
1.1 maekawa 32: define(`ASM_START',
1.1.1.2 ! ohara 33: m4_assert_numargs(0)
! 34: ` .ident dummy')
! 35:
! 36: define(`X',
! 37: m4_assert_numargs(1)
! 38: `^X$1')
1.1 maekawa 39:
40: define(`FLOAT64',
1.1.1.2 ! ohara 41: m4_assert_numargs(2)
! 42: ` .psect $1@crud,data
1.1 maekawa 43: $1: .t_floating $2
44: .endp')
45:
1.1.1.2 ! ohara 46: dnl Called: PROLOGUE_cpu(GSYM_PREFIX`'foo[,gp|noalign])
! 47: dnl EPILOGUE_cpu(GSYM_PREFIX`'foo)
! 48:
! 49: define(`PROLOGUE_cpu',
! 50: m4_assert_numargs_range(1,2)
! 51: `ifelse(`$2',gp,,
! 52: `ifelse(`$2',noalign,,
! 53: `ifelse(`$2',,,`m4_error(`Unrecognised PROLOGUE parameter
! 54: ')')')')dnl
1.1 maekawa 55: .stack 192 ; What does this mean? Only Cray knows.
56: .psect $1@code,code,cache
57: $1::')
58:
1.1.1.2 ! ohara 59: define(`EPILOGUE_cpu',
! 60: m4_assert_numargs(1)
! 61: ` .endp')
! 62:
! 63: dnl Usage: EXTERN(variable_name)
! 64: define(`EXTERN',
! 65: m4_assert_numargs(1)
! 66: ` .extern $1')
1.1 maekawa 67:
68: define(`DATASTART',
1.1.1.2 ! ohara 69: m4_assert_numargs(1)
! 70: ` .psect $1@crud,data
1.1 maekawa 71: $1:')
1.1.1.2 ! ohara 72:
1.1 maekawa 73: define(`DATAEND',
1.1.1.2 ! ohara 74: m4_assert_numargs(0)
! 75: ` .endp')
1.1 maekawa 76:
77: define(`ASM_END',
1.1.1.2 ! ohara 78: m4_assert_numargs(0)
! 79: ` .end')
1.1 maekawa 80:
1.1.1.2 ! ohara 81: dnl Unicos assembler lacks unop
! 82: define(`unop',
! 83: m4_assert_numargs(-1)
! 84: `bis r31,r31,r31')
! 85:
! 86: define(`cvttqc',
! 87: m4_assert_numargs(-1)
! 88: `cvttq/c')
! 89:
! 90: dnl Load a symbolic address into a register
! 91: define(`LEA',
! 92: m4_assert_numargs(2)
! 93: `laum $1, $2(r31)
! 94: sll $1, 32, $1
! 95: lalm $1, $2($1)
! 96: lal $1, $2($1)')
! 97:
! 98: dnl Need some stuff for extwl just for bigend systems, like Unicos.
! 99: define(`bigend',
! 100: m4_assert_numargs(1)
! 101: `$1')
! 102:
! 103: dnl Unicos assembler seems to align using garbage, so disable aligning
! 104: define(`ALIGN',
! 105: m4_assert_numargs(1)
! 106: )
1.1 maekawa 107:
108: divert
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>