1 #ifndef __MONO_MINI_X86_H__
2 #define __MONO_MINI_X86_H__
4 #include <mono/arch/x86/x86-codegen.h>
6 #define MONO_MAX_IREGS 8
7 #define MONO_MAX_FREGS 7
9 #define MONO_ARCH_FRAME_ALIGNMENT 4
11 /* fixme: align to 16byte instead of 32byte (we align to 32byte to get
12 * reproduceable results for benchmarks */
13 #define MONO_ARCH_CODE_ALIGNMENT 32
15 #define MONO_ARCH_BASEREG X86_EBP
16 #define MONO_ARCH_RETREG1 X86_EAX
17 #define MONO_ARCH_RETREG2 X86_EDX
19 #define MONO_ARCH_ENCODE_LREG(r1,r2) (r1 | (r2<<3))
21 #define inst_dreg_low dreg&7
22 #define inst_dreg_high dreg>>3
23 #define inst_sreg1_low sreg1&7
24 #define inst_sreg1_high sreg1>>3
25 #define inst_sreg2_low sreg2&7
26 #define inst_sreg2_high sreg2>>3
29 gpointer previous_lmf;
39 #endif /* __MONO_MINI_X86_H__ */