History

x86-64: Add alloca.

Shinichiro Hamaji committed 17 years ago

Commit 8ea83051 parent 110a4ed2 files · +37 −0Browse files

Showing the changes to lib (1 of 2 files). Show all

Unified · Split

lib/alloca86_64.S+33−0
@@ -0,0 +1,33 @@
1+/* ---------------------------------------------- */
2+/* alloca86_64.S */
3+
4+#include "../config.h"
5+
6+.globl alloca
7+
8+alloca:
9+ pop %rdx
10+ mov %rdi,%rax
11+ add $3,%rax
12+ and $-4,%rax
13+ jz p3
14+
15+#ifdef TCC_TARGET_PE
16+ /* XXX: not tested */
17+p1:
18+ cmp $4096,%rax
19+ jle p2
20+ sub $4096,%rsp
21+ sub $4096,%rax
22+ test %rax,(%rsp)
23+ jmp p1
24+p2:
25+#endif
26+
27+ sub %rax,%rsp
28+ mov %rsp,%rax
29+p3:
30+ push %rdx
31+ ret
32+
33+/* ---------------------------------------------- */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t