summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Ryde <user42@zip.com.au>2001-01-12 00:51:58 +0100
committerKevin Ryde <user42@zip.com.au>2001-01-12 00:51:58 +0100
commit1d9fd80578a65c40407d6c2b5333c8c291599fd2 (patch)
tree58184188c7dbca8726c25dbfa19e2d55152d9daa
parent1b7e51ff3e77e267f3a4a9329205303a70559613 (diff)
downloadgmp-1d9fd80578a65c40407d6c2b5333c8c291599fd2.tar.gz
* mpn/x86/gmp-mparam.h: New file.
-rw-r--r--mpn/x86/gmp-mparam.h34
1 files changed, 23 insertions, 11 deletions
diff --git a/mpn/x86/gmp-mparam.h b/mpn/x86/gmp-mparam.h
index d909cd2a5..2fd7820ba 100644
--- a/mpn/x86/gmp-mparam.h
+++ b/mpn/x86/gmp-mparam.h
@@ -1,29 +1,41 @@
-/* gmp-mparam.h -- Compiler/machine parameter header file.
+/* Generic x86 gmp-mparam.h -- Compiler/machine parameter header file.
-Copyright (C) 1991, 1993, 1994, 1995 Free Software Foundation, Inc.
+Copyright 1991, 1993, 1994, 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
The GNU MP Library is free software; you can redistribute it and/or modify
-it under the terms of the GNU Library General Public License as published by
-the Free Software Foundation; either version 2 of the License, or (at your
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 2.1 of the License, or (at your
option) any later version.
The GNU MP Library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
-You should have received a copy of the GNU Library General Public License
+You should have received a copy of the GNU Lesser General Public License
along with the GNU MP Library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA. */
#define BITS_PER_MP_LIMB 32
#define BYTES_PER_MP_LIMB 4
-#define BITS_PER_LONGINT 32
-#define BITS_PER_INT 32
-#define BITS_PER_SHORTINT 16
-#define BITS_PER_CHAR 8
-#define IEEE_DOUBLE_BIG_ENDIAN 0
+
+/* close-ish for p5 and up, though 386/486 are much slower */
+#ifndef UMUL_TIME
+#define UMUL_TIME 10 /* cycles */
+#endif
+
+/* about right for most x86s */
+#ifndef UDIV_TIME
+#define UDIV_TIME 40 /* cycles */
+#endif
+
+/* udiv_qrnnd_preinv is a bit complicated and doesn't really suit the x86s
+ without careful assembler coding, so mark it as slower then plain
+ division. */
+#ifndef UDIV_NORM_PREINV_TIME
+#define UDIV_NORM_PREINV_TIME 50 /* cycles */
+#endif