Revision 1e4840bf target-i386/exec.h

b/target-i386/exec.h
29 29

  
30 30
#include "cpu-defs.h"
31 31

  
32
/* at least 4 register variables are defined */
33 32
register struct CPUX86State *env asm(AREG0);
34 33

  
35
#ifndef CPU_NO_GLOBAL_REGS
36

  
37
#if TARGET_LONG_BITS > HOST_LONG_BITS
38

  
39
/* no registers can be used */
40
#define T0 (env->t0)
41
#define T1 (env->t1)
42
#define T2 (env->t2)
43

  
44
#else
45

  
46
/* XXX: use unsigned long instead of target_ulong - better code will
47
   be generated for 64 bit CPUs */
48
register target_ulong T0 asm(AREG1);
49
register target_ulong T1 asm(AREG2);
50
register target_ulong T2 asm(AREG3);
51

  
52
#endif /* ! (TARGET_LONG_BITS > HOST_LONG_BITS) */
53

  
54
#endif /* ! CPU_NO_GLOBAL_REGS */
55

  
56
#define A0 T2
57

  
58 34
extern FILE *logfile;
59 35
extern int loglevel;
60 36

  
61
#ifndef reg_EAX
62 37
#define EAX (env->regs[R_EAX])
63
#endif
64
#ifndef reg_ECX
65 38
#define ECX (env->regs[R_ECX])
66
#endif
67
#ifndef reg_EDX
68 39
#define EDX (env->regs[R_EDX])
69
#endif
70
#ifndef reg_EBX
71 40
#define EBX (env->regs[R_EBX])
72
#endif
73
#ifndef reg_ESP
74 41
#define ESP (env->regs[R_ESP])
75
#endif
76
#ifndef reg_EBP
77 42
#define EBP (env->regs[R_EBP])
78
#endif
79
#ifndef reg_ESI
80 43
#define ESI (env->regs[R_ESI])
81
#endif
82
#ifndef reg_EDI
83 44
#define EDI (env->regs[R_EDI])
84
#endif
85
#define EIP  (env->eip)
45
#define EIP (env->eip)
86 46
#define DF  (env->df)
87 47

  
88 48
#define CC_SRC (env->cc_src)

Also available in: Unified diff