version 1.2, 1997/09/01 23:08:19
|
version 1.6, 2000/04/29 13:07:34
|
Line 1
|
Line 1
|
/* preliminary machine file for DEC Alpha |
/* DEC Alpha |
|
|
Copyright (C) 1995 Free Software Foundation, Inc. |
Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc. |
|
|
This file is part of Gforth. |
This file is part of Gforth. |
|
|
Line 20
|
Line 20
|
*/ |
*/ |
|
|
/* Be careful: long long on Alpha are 64 bit :-(( */ |
/* Be careful: long long on Alpha are 64 bit :-(( */ |
#define LONG_LATENCY |
|
|
#ifndef THREADING_SCHEME |
|
#define THREADING_SCHEME 5 |
|
#endif |
|
|
#if !defined(USE_TOS) && !defined(USE_NO_TOS) |
#if !defined(USE_TOS) && !defined(USE_NO_TOS) |
#define USE_TOS |
#define USE_TOS |
Line 149 typedef short Int16;
|
Line 152 typedef short Int16;
|
/* the does handler resides between DOES> and the following Forth |
/* the does handler resides between DOES> and the following Forth |
code. Since the code-field jumps directly to dodoes, the |
code. Since the code-field jumps directly to dodoes, the |
does-handler is not needed for the Alpha architecture */ |
does-handler is not needed for the Alpha architecture */ |
#define MAKE_DOES_HANDLER(addr) 0 |
#define MAKE_DOES_HANDLER(addr) ((void)0) |
|
|
/* This makes a code field for a does-defined word. doesp is the |
/* This makes a code field for a does-defined word. doesp is the |
address of the does-code. On the Alpha, the code field consists of |
address of the does-code. On the Alpha, the code field consists of |
Line 159 typedef short Int16;
|
Line 162 typedef short Int16;
|
_cfa[1] = (doesp); }) |
_cfa[1] = (doesp); }) |
#endif |
#endif |
|
|
|
#ifdef FORCE_REG |
|
/* $9-$14 are callee-saved, $1-$8 and $22-$25 are caller-saved */ |
|
#define IPREG asm("$10") |
|
#define SPREG asm("$11") |
|
#define RPREG asm("$12") |
|
#define LPREG asm("$13") |
|
#define TOSREG asm("$14") |
|
/* #define CFAREG asm("$22") egcs-1.0.3 crashes with any caller-saved |
|
register decl */ |
|
#endif /* FORCE_REG */ |