/* $Header:mac2defs.h 12.0$ */
/* $ACIS:mac2defs.h 12.0$ */
/* $Source: /ibm/acis/usr/src/lib/pcc_ca/RCS/mac2defs.h,v $ */
 
/*  ibm032 Registers -- use these numbers as indices in the table rnames */

    /* scratch registers */
# define R0  0	/* Used to pass DP to callee */
# define R6  6
# define R7  7
# define R8  8
# define R15 15	/* Used as branch-and-link register, contains return address */

    /* parameter registers */
# define R2  2
# define R3  3
# define R4  4
# define R5  5
    
    /* register variables */
# define R9  9
# define R10 10
# define R11 11
# define R12 12
# define R13 13

    /* special purpose */
# define DP 14  /* data  pointer */
# define SP 1   /* stack pointer */

    /* floating registers */

    /* there are no floating point registers on the ibm032 */

extern int fregs;
extern int maxargs;

# define BYTEOFF(x) ((x)&03)
# define wdal(k) (BYTEOFF(k)==0)
# define BITOOR(x) ((x)>>3)  /* bit offset to oreg offset */

# define REGSZ 16

# define TMPREG FP  /* Register used to address temporary storage JEC */

/* # define R2REGS   /* permit double indexing, not on ibm032 */

# define STOARG(p)     /* just evaluate the arguments, and be done with it... */
# define STOFARG(p)
# define STOSTARG(p)
# define genfcall(a,b) gencall(a,b)

# define NESTCALL

# define MYREADER(p) walkf(p, optim2)
int optim2();
# define special(a, b) 0

/*  size in which offsets are kept
/*  should be large enough to cover address space in bits
*/

# define OFFSZ long
