diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 2006-05-31 08:16:34 +0000 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 2006-05-31 08:16:34 +0000 |
commit | d9be4fee6af0646b153cf0cc562b632f67ceca58 (patch) | |
tree | c0634a5d96c084ad6acd0de8f73281539935d016 /otherlibs/num/bng_ppc.c | |
parent | 0b0804968f90e9b3cef55a614c777ba7f7d65a47 (diff) | |
download | ocaml-d9be4fee6af0646b153cf0cc562b632f67ceca58.tar.gz |
Portage PowerPC 64 bits
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7430 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'otherlibs/num/bng_ppc.c')
-rw-r--r-- | otherlibs/num/bng_ppc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/otherlibs/num/bng_ppc.c b/otherlibs/num/bng_ppc.c index d0e33a2f25..32d573cd0f 100644 --- a/otherlibs/num/bng_ppc.c +++ b/otherlibs/num/bng_ppc.c @@ -79,8 +79,16 @@ : "=&r" (res), "=&r" (carryaccu) \ : "r" (arg1), "r" (arg2), "r" (arg3), "1" (carryaccu)) +#ifdef __ppc64__ +#define BngMult(resh,resl,arg1,arg2) \ + asm("mulld %0, %2, %3 \n\t" \ + "mulhdu %1, %2, %3" \ + : "=&r" (resl), "=r" (resh) \ + : "r" (arg1), "r" (arg2)) +#else #define BngMult(resh,resl,arg1,arg2) \ asm("mullw %0, %2, %3 \n\t" \ "mulhwu %1, %2, %3" \ : "=&r" (resl), "=r" (resh) \ : "r" (arg1), "r" (arg2)) +#endif
\ No newline at end of file |