diff options
author | Michael Meissner <gnu@the-meissners.org> | 1995-11-08 18:57:06 +0000 |
---|---|---|
committer | Michael Meissner <gnu@the-meissners.org> | 1995-11-08 18:57:06 +0000 |
commit | 73c4941b23b9c660bb9bc4bb7acf3ea253356c41 (patch) | |
tree | da13e65308de8337364ccbc1dde964aa60b93609 /sim/ppc/std-config.h | |
parent | 0634a431423265b525681625d2796346428c53b0 (diff) | |
download | gdb-73c4941b23b9c660bb9bc4bb7acf3ea253356c41.zip gdb-73c4941b23b9c660bb9bc4bb7acf3ea253356c41.tar.gz gdb-73c4941b23b9c660bb9bc4bb7acf3ea253356c41.tar.bz2 |
first stage in function unit support; add new switches & latest code from andrew
Diffstat (limited to 'sim/ppc/std-config.h')
-rw-r--r-- | sim/ppc/std-config.h | 54 |
1 files changed, 51 insertions, 3 deletions
diff --git a/sim/ppc/std-config.h b/sim/ppc/std-config.h index 69359f4..ace2888 100644 --- a/sim/ppc/std-config.h +++ b/sim/ppc/std-config.h @@ -246,6 +246,41 @@ extern int current_floating_point; #endif +/* Include code that simulates function units to model particular + machines more closely and provide more detailed information about + optimization potential. */ + +#ifndef WITH_FUNCTION_UNIT +#define WITH_FUNCTION_UNIT 1 +#endif + +/* Which specific processor to model */ +typedef enum _ppc_model { + PPC_MODEL_UNKNOWN, + PPC_MODEL_601, + PPC_MODEL_602, + PPC_MODEL_603, + PPC_MODEL_603e, + PPC_MODEL_604, + PPC_MODEL_403, + PPC_MODEL_505, + PPC_MODEL_821, + PPC_MODEL_860 +} ppc_model; + +#ifndef WITH_DEFAULT_PPC_MODEL +#define WITH_DEFAULT_PPC_MODEL PPC_MODEL_603e +#endif + +extern ppc_model current_ppc_model; + +#ifndef WITH_PPC_MODEL +#define WITH_PPC_MODEL 0 +#endif + +#define CURRENT_PPC_MODEL (WITH_PPC_MODEL \ + ? WITH_PPC_MODEL \ + : current_ppc_model) /* INLINE CODE SELECTION: @@ -309,11 +344,18 @@ extern int current_floating_point; #endif /* Code that converts between hosts and target byte order. Used on - every memory access (instruction and data). (See ppc-endian.h for + every memory access (instruction and data). (See sim-endian.h for additional byte swapping configuration information) */ -#ifndef ENDIAN_INLINE -#define ENDIAN_INLINE DEFAULT_INLINE +#ifndef SIM_ENDIAN_INLINE +#define SIM_ENDIAN_INLINE DEFAULT_INLINE +#endif + +/* Low level bit manipulation routines used to work around a compiler + bug in 2.6.3. */ + +#ifndef BITS_INLINE +#define BITS_INLINE DEFAULT_INLINE #endif /* Code that gives access to various CPU internals such as registers. @@ -412,4 +454,10 @@ extern int current_floating_point; #define IDECODE_INLINE DEFAULT_INLINE #endif +/* Code to simule functional units of real machines */ + +#ifndef FUNCTION_UNIT_INLINE +#define FUNCTION_UNIT_INLINE DEFAULT_INLINE +#endif + #endif /* _CONFIG_H */ |