authorgravatar for 37883863+jo-he@users.noreply.github.comJoachim Henke <37883863+jo-he@users.noreply.github.com> 2019-07-26 09:59:18+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-07-26 17:12:42-04:00
log74abc5ad2f4bf4f737b6c910b3048f7937345aad
tree73ee932c304233eaa78ac237aa8564e33a15d141
parent9e11f67f0d921ed1280dc39e991163053be8a9ee

avoid a register copy when fetching the stack pointer in _start


1 files changed, 4 insertions(+), 4 deletions(-)

std/special/start.zig+4-4
...@@ -35,13 +35,13 @@ nakedcc fn _start() noreturn {...@@ -35,13 +35,13 @@ nakedcc fn _start() noreturn {
3535
36 switch (builtin.arch) {36 switch (builtin.arch) {
37 .x86_64 => {37 .x86_64 => {
38 argc_ptr = asm ("lea (%%rsp), %[argc]"38 argc_ptr = asm (""
39 : [argc] "=r" (-> [*]usize)39 : [argc] "={rsp}" (-> [*]usize)
40 );40 );
41 },41 },
42 .i386 => {42 .i386 => {
43 argc_ptr = asm ("lea (%%esp), %[argc]"43 argc_ptr = asm (""
44 : [argc] "=r" (-> [*]usize)44 : [argc] "={esp}" (-> [*]usize)
45 );45 );
46 },46 },
47 .aarch64, .aarch64_be => {47 .aarch64, .aarch64_be => {