diff options
author | Xavier Leroy <xavier.leroy@college-de-france.fr> | 2020-10-05 15:52:58 +0200 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@college-de-france.fr> | 2020-10-05 15:52:58 +0200 |
commit | 26ddb90280b45e92d90eead89edb237f2922824a (patch) | |
tree | ff18b31abdbb97133f9708ca085467f25758e507 /runtime/x86_64/sysdeps.h | |
parent | e9c738e3bd156f68905968e25c70ec796d3119c4 (diff) | |
download | compcert-kvx-26ddb90280b45e92d90eead89edb237f2922824a.tar.gz compcert-kvx-26ddb90280b45e92d90eead89edb237f2922824a.zip |
Support Cygwin 64 bits
- Add support for the Win64 ABI to the x86_64 port
- Update vararg support to handle Win64 conventions
- Configure support for x86_64-cygwin64
Diffstat (limited to 'runtime/x86_64/sysdeps.h')
-rw-r--r-- | runtime/x86_64/sysdeps.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/runtime/x86_64/sysdeps.h b/runtime/x86_64/sysdeps.h index e9d456af..aacef8f0 100644 --- a/runtime/x86_64/sysdeps.h +++ b/runtime/x86_64/sysdeps.h @@ -63,13 +63,25 @@ _##f: #if defined(SYS_cygwin) -#define GLOB(x) _##x +#define GLOB(x) x #define FUNCTION(f) \ .text; \ - .globl _##f; \ + .globl f; \ .align 16; \ -_##f: +f: #define ENDFUNCTION(f) #endif + +// Names for argument and result registers + +#if defined(SYS_cygwin) +#define INT_ARG_1 %rcx +#else +#define INT_ARG_1 %rdi +#endif +#define FP_ARG_1 %xmm0 +#define INT_RES %rax +#define FP_RES %xmm0 + |