diff options
author | Mark H Weaver <mhw@netris.org> | 2014-02-12 14:28:03 -0500 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2014-02-12 20:53:55 -0500 |
commit | f07fa851505c6f4e7040b10ca0e178901bd106ef (patch) | |
tree | d32c5e7cb0e0ce6057b44474652e903bc926b968 | |
parent | e1d7a93bb286d691069d47063d1ce5baabd7a35d (diff) | |
download | guile-f07fa851505c6f4e7040b10ca0e178901bd106ef.tar.gz |
Fix inline asm of VM numerical operations for x32.
* libguile/vm-i-scheme.c (_CX): Choose register size based on
'SIZEOF_VOID_P' instead of '__x86_64__'.
-rw-r--r-- | libguile/vm-i-scheme.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libguile/vm-i-scheme.c b/libguile/vm-i-scheme.c index fc32ec5a8..dd2150ddc 100644 --- a/libguile/vm-i-scheme.c +++ b/libguile/vm-i-scheme.c @@ -236,10 +236,12 @@ VM_DEFINE_FUNCTION (149, ge, "ge?", 2) #if SCM_GNUC_PREREQ (4, 5) && (defined __x86_64__ || defined __i386__) # undef _CX -# ifdef __x86_64__ +# if SIZEOF_VOID_P == 8 # define _CX "rcx" -# else +# elif SIZEOF_VOID_P == 4 # define _CX "ecx" +# else +# error unsupported word size # endif /* The macros below check the CPU's overflow flag to improve fixnum |