Revision 01d6a890 target-sparc/exec.h
b/target-sparc/exec.h | ||
---|---|---|
3 | 3 |
#include "dyngen-exec.h" |
4 | 4 |
#include "config.h" |
5 | 5 |
|
6 |
#if defined(__sparc__) |
|
7 |
struct CPUSPARCState *env; |
|
8 |
#else |
|
6 | 9 |
register struct CPUSPARCState *env asm(AREG0); |
10 |
#endif |
|
11 |
|
|
7 | 12 |
#ifdef TARGET_SPARC64 |
8 | 13 |
#define T0 (env->t0) |
9 | 14 |
#define T1 (env->t1) |
10 | 15 |
#define T2 (env->t2) |
11 | 16 |
#define REGWPTR env->regwptr |
12 | 17 |
#else |
18 |
#if defined(__sparc__) |
|
19 |
register uint32_t T0 asm(AREG3); |
|
20 |
register uint32_t T1 asm(AREG2); |
|
21 |
#else |
|
13 | 22 |
register uint32_t T0 asm(AREG1); |
14 | 23 |
register uint32_t T1 asm(AREG2); |
24 |
#endif |
|
15 | 25 |
|
16 | 26 |
#undef REG_REGWPTR // Broken |
17 | 27 |
#ifdef REG_REGWPTR |
28 |
#if defined(__sparc__) |
|
29 |
register uint32_t *REGWPTR asm(AREG4); |
|
30 |
#else |
|
18 | 31 |
register uint32_t *REGWPTR asm(AREG3); |
32 |
#endif |
|
19 | 33 |
#define reg_REGWPTR |
20 | 34 |
|
21 | 35 |
#ifdef AREG4 |
36 |
#if defined(__sparc__) |
|
37 |
register uint32_t T2 asm(AREG0); |
|
38 |
#else |
|
22 | 39 |
register uint32_t T2 asm(AREG4); |
40 |
#endif |
|
23 | 41 |
#define reg_T2 |
24 | 42 |
#else |
25 | 43 |
#define T2 (env->t2) |
... | ... | |
27 | 45 |
|
28 | 46 |
#else |
29 | 47 |
#define REGWPTR env->regwptr |
48 |
#if defined(__sparc__) |
|
49 |
register uint32_t T2 asm(AREG0); |
|
50 |
#else |
|
30 | 51 |
register uint32_t T2 asm(AREG3); |
52 |
#endif |
|
31 | 53 |
#define reg_T2 |
32 | 54 |
#endif |
33 | 55 |
#endif |
Also available in: Unified diff