1*47932Sbostic /*-
2*47932Sbostic  * Copyright (c) 1991 The Regents of the University of California.
3*47932Sbostic  * All rights reserved.
4*47932Sbostic  *
5*47932Sbostic  * %sccs.include.proprietary.c%
6*47932Sbostic  *
7*47932Sbostic  *	@(#)machdefs.h	5.2 (Berkeley) 04/12/91
8*47932Sbostic  */
9*47932Sbostic 
1044231Sbostic /*
1144231Sbostic  * machdefs.h
1244231Sbostic  *
1344231Sbostic  * Machine definitions for f77 compiler, pass 1.  VAX version.
1444231Sbostic  *
1544231Sbostic  * University of Utah CS Dept modification history:
1644231Sbostic  *
1744231Sbostic  * $Header: machdefs.h,v 2.2 85/01/14 03:41:13 donn Exp $
1844231Sbostic  * $Log:	machdefs.h,v $
1944231Sbostic  * Revision 2.2  85/01/14  03:41:13  donn
2044231Sbostic  * Added changes to make the storage used for constants that are passed
2144231Sbostic  * as arguments to functions come out read-only.
2244231Sbostic  *
2344231Sbostic  * Revision 2.1  84/07/19  12:55:11  donn
2444231Sbostic  * Changed comment header to UofU.
2544231Sbostic  *
2644231Sbostic  * Revision 1.3  84/07/02  12:04:42  donn
2744231Sbostic  * I goofed when I added the original changes for SZFLOAT and SZDOUBLE.
2844231Sbostic  * Thanks to Raleigh Romine for pointing this out (sigh).
2944231Sbostic  *
3044231Sbostic  * Revision 1.2  84/02/28  20:46:16  donn
3144231Sbostic  * Added definitions for SZFLOAT and SZDOUBLE, needed by Berkeley changes to
3244231Sbostic  * produce shorter offsets to variables in machine code.
3344231Sbostic  *
3444231Sbostic  */
3544231Sbostic 
3644231Sbostic #ifndef TARGET
3744231Sbostic TARGET NOT DEFINED !!!
3844231Sbostic #endif
3944231Sbostic #if TARGET!= TAHOE
4044231Sbostic Target= TARGET OUT OF RANGE!!
4144231Sbostic #endif
4244231Sbostic 
4344231Sbostic #ifndef FAMILY
4444231Sbostic FAMILY NOT DEFINED!!!
4544231Sbostic #endif
4644231Sbostic #if FAMILY!=PCC && FAMILY!=DMR
4744231Sbostic Family = FAMILY OUT OF RANGE
4844231Sbostic #endif
4944231Sbostic 
5044231Sbostic #define SDB 1
5144231Sbostic 
5244231Sbostic #define TYLENG		TYLONG
5344231Sbostic 
5444231Sbostic #define TYINT		TYLONG
5544231Sbostic #define SZADDR		4
5644231Sbostic #define SZSHORT		2
5744231Sbostic #define SZINT		4
5844231Sbostic #define SZFLOAT		4
5944231Sbostic #define SZDOUBLE	8
6044231Sbostic 
6144231Sbostic #define SZLONG		4
6244231Sbostic #define SZLENG		SZLONG
6344231Sbostic 
6444231Sbostic #define ALIADDR SZADDR
6544231Sbostic #define ALISHORT SZSHORT
6644231Sbostic #define ALILONG 4
6744231Sbostic #define ALIDOUBLE 4
6844231Sbostic #define ALIINT	ALILONG
6944231Sbostic #define ALILENG	ALILONG
7044231Sbostic 
7144231Sbostic #define AUTOREG 13
7244231Sbostic #define ARGREG 12
7344231Sbostic #define LVARREG 11
7444231Sbostic #define ARGOFFSET 4
7544231Sbostic 
7644231Sbostic 
7744231Sbostic #define FUDGEOFFSET 1
7844231Sbostic #define BITSPERCHAR 8
7944231Sbostic #define XL 16
8044231Sbostic 
8144231Sbostic #define USETEXT		".text"
8244231Sbostic #define USECONST	".data\t0"
8344231Sbostic #define USEBSS		".data\t1"
8444231Sbostic #define USEINIT		".data\t2"
8544231Sbostic 
8644231Sbostic #define BLANKCOMMON "_BLNK_"
8744231Sbostic 
8844231Sbostic #define LABELFMT "%s:\n"
8944231Sbostic 
9044231Sbostic #define MAXREGVAR 5
9144231Sbostic #define TYIREG TYLONG
9244231Sbostic #define MSKIREG  (M(TYSHORT)|M(TYLONG))
9344231Sbostic 
9444231Sbostic #define MAXINT	0x7fffffff
9544231Sbostic #define MININT  0x80000000
9644231Sbostic 
9744231Sbostic #define MAXBYTE	0xff
9844231Sbostic #define BYTESIZE	8
9944231Sbostic 
10044231Sbostic #define SMALLVAR(x) ((x) < 512)
101