1 #ifndef __MONO_MINI_PPC_H__
2 #define __MONO_MINI_PPC_H__
4 #include <mono/arch/x86/x86-codegen.h>
5 #include <mono/arch/ppc/ppc-codegen.h>
7 #define MONO_MAX_IREGS 32
8 #define MONO_MAX_FREGS 32
10 #define MONO_ARCH_FRAME_ALIGNMENT 4
12 /* fixme: align to 16byte instead of 32byte (we align to 32byte to get
13 * reproduceable results for benchmarks */
14 #define MONO_ARCH_CODE_ALIGNMENT 32
16 #define MONO_ARCH_BASEREG X86_EBP
17 #define MONO_ARCH_RETREG1 ppc_r3
18 #define MONO_ARCH_RETREG2 ppc_r4
21 gpointer previous_lmf;
28 #define MONO_ARCH_EMULATE_FCONV_TO_I8 1
29 #define MONO_ARCH_EMULATE_LCONV_TO_R8 1
30 #define MONO_ARCH_EMULATE_LCONV_TO_R4 1
31 #define MONO_ARCH_EMULATE_LCONV_TO_R8_UN 1
32 #define MONO_ARCH_EMULATE_FREM 1
34 /* deal with some of the ABI differences here */
36 #define PPC_RET_ADDR_OFFSET 8
37 #define PPC_STACK_ALIGNMENT 16
38 #define PPC_STACK_PARAM_OFFSET 24
39 #define PPC_MINIMAL_STACK_SIZE 24
42 #define PPC_RET_ADDR_OFFSET 4
43 #define PPC_STACK_ALIGNMENT 16
44 #define PPC_STACK_PARAM_OFFSET 8
45 #define PPC_MINIMAL_STACK_SIZE 8
49 #endif /* __MONO_MINI_PPC_H__ */