1*44231Sbostic /* 2*44231Sbostic * machdefs.h 3*44231Sbostic * 4*44231Sbostic * Machine definitions for f77 compiler, pass 1. VAX version. 5*44231Sbostic * 6*44231Sbostic * University of Utah CS Dept modification history: 7*44231Sbostic * 8*44231Sbostic * $Header: machdefs.h,v 2.2 85/01/14 03:41:13 donn Exp $ 9*44231Sbostic * $Log: machdefs.h,v $ 10*44231Sbostic * Revision 2.2 85/01/14 03:41:13 donn 11*44231Sbostic * Added changes to make the storage used for constants that are passed 12*44231Sbostic * as arguments to functions come out read-only. 13*44231Sbostic * 14*44231Sbostic * Revision 2.1 84/07/19 12:55:11 donn 15*44231Sbostic * Changed comment header to UofU. 16*44231Sbostic * 17*44231Sbostic * Revision 1.3 84/07/02 12:04:42 donn 18*44231Sbostic * I goofed when I added the original changes for SZFLOAT and SZDOUBLE. 19*44231Sbostic * Thanks to Raleigh Romine for pointing this out (sigh). 20*44231Sbostic * 21*44231Sbostic * Revision 1.2 84/02/28 20:46:16 donn 22*44231Sbostic * Added definitions for SZFLOAT and SZDOUBLE, needed by Berkeley changes to 23*44231Sbostic * produce shorter offsets to variables in machine code. 24*44231Sbostic * 25*44231Sbostic */ 26*44231Sbostic 27*44231Sbostic #ifndef TARGET 28*44231Sbostic TARGET NOT DEFINED !!! 29*44231Sbostic #endif 30*44231Sbostic #if TARGET!= TAHOE 31*44231Sbostic Target= TARGET OUT OF RANGE!! 32*44231Sbostic #endif 33*44231Sbostic 34*44231Sbostic #ifndef FAMILY 35*44231Sbostic FAMILY NOT DEFINED!!! 36*44231Sbostic #endif 37*44231Sbostic #if FAMILY!=PCC && FAMILY!=DMR 38*44231Sbostic Family = FAMILY OUT OF RANGE 39*44231Sbostic #endif 40*44231Sbostic 41*44231Sbostic #define SDB 1 42*44231Sbostic 43*44231Sbostic #define TYLENG TYLONG 44*44231Sbostic 45*44231Sbostic #define TYINT TYLONG 46*44231Sbostic #define SZADDR 4 47*44231Sbostic #define SZSHORT 2 48*44231Sbostic #define SZINT 4 49*44231Sbostic #define SZFLOAT 4 50*44231Sbostic #define SZDOUBLE 8 51*44231Sbostic 52*44231Sbostic #define SZLONG 4 53*44231Sbostic #define SZLENG SZLONG 54*44231Sbostic 55*44231Sbostic #define ALIADDR SZADDR 56*44231Sbostic #define ALISHORT SZSHORT 57*44231Sbostic #define ALILONG 4 58*44231Sbostic #define ALIDOUBLE 4 59*44231Sbostic #define ALIINT ALILONG 60*44231Sbostic #define ALILENG ALILONG 61*44231Sbostic 62*44231Sbostic #define AUTOREG 13 63*44231Sbostic #define ARGREG 12 64*44231Sbostic #define LVARREG 11 65*44231Sbostic #define ARGOFFSET 4 66*44231Sbostic 67*44231Sbostic 68*44231Sbostic #define FUDGEOFFSET 1 69*44231Sbostic #define BITSPERCHAR 8 70*44231Sbostic #define XL 16 71*44231Sbostic 72*44231Sbostic #define USETEXT ".text" 73*44231Sbostic #define USECONST ".data\t0" 74*44231Sbostic #define USEBSS ".data\t1" 75*44231Sbostic #define USEINIT ".data\t2" 76*44231Sbostic 77*44231Sbostic #define BLANKCOMMON "_BLNK_" 78*44231Sbostic 79*44231Sbostic #define LABELFMT "%s:\n" 80*44231Sbostic 81*44231Sbostic #define MAXREGVAR 5 82*44231Sbostic #define TYIREG TYLONG 83*44231Sbostic #define MSKIREG (M(TYSHORT)|M(TYLONG)) 84*44231Sbostic 85*44231Sbostic #define MAXINT 0x7fffffff 86*44231Sbostic #define MININT 0x80000000 87*44231Sbostic 88*44231Sbostic #define MAXBYTE 0xff 89*44231Sbostic #define BYTESIZE 8 90*44231Sbostic 91*44231Sbostic #define SMALLVAR(x) ((x) < 512) 92