pe32+ target: add in various #define's
[tinycc/kirr.git] / lib / alloca86.S
blobfb208a0baac2c64e097308ff9234bc9b3afadeba
1 /* ---------------------------------------------- */
2 /* alloca86.S */
4 #include "../config.h"
6 .globl alloca
8 alloca:
9     pop     %edx
10     pop     %eax
11     add     $3,%eax
12     and     $-4,%eax
13     jz      p3
15 #ifdef TCC_TARGET_PE
16 p1:
17     cmp     $4096,%eax
18     jle     p2
19     sub     $4096,%esp
20     sub     $4096,%eax
21     test    %eax,(%esp)
22     jmp p1
23 p2:
24 #endif
26     sub     %eax,%esp
27     mov     %esp,%eax
28 p3:
29     push    %edx
30     push    %edx
31     ret
33 /* ---------------------------------------------- */