repo.or.cz
/
tinycc
/
k1w1.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
ARM: fix big immediate offset construction
[tinycc/k1w1.git]
/
lib
/
alloca86.S
blob
3d5eb618c33b6f5c701edb574d74c72880372e69
1
/* ---------------------------------------------- */
2
/* alloca86.S */
3
4
#include "../config.h"
5
6
.globl _alloca
7
8
_alloca:
9
pop %edx
10
pop %eax
11
add $3,%eax
12
and $-4,%eax
13
jz p3
14
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
25
26
sub %eax,%esp
27
mov %esp,%eax
28
p3:
29
push %edx
30
push %edx
31
ret
32
33
/* ---------------------------------------------- */