version 1.1.1.1, 2000/09/09 14:12:42 |
version 1.1.1.2, 2003/08/25 16:06:28 |
|
|
/* AMD K7 gmp-mparam.h -- Compiler/machine parameter header file. |
/* AMD K7 gmp-mparam.h -- Compiler/machine parameter header file. |
|
|
Copyright (C) 1991, 1993, 1994, 2000 Free Software Foundation, Inc. |
Copyright 1991, 1993, 1994, 2000, 2001, 2002 Free Software Foundation, Inc. |
|
|
This file is part of the GNU MP Library. |
This file is part of the GNU MP Library. |
|
|
Line 21 MA 02111-1307, USA. */ |
|
Line 21 MA 02111-1307, USA. */ |
|
|
|
#define BITS_PER_MP_LIMB 32 |
#define BITS_PER_MP_LIMB 32 |
#define BYTES_PER_MP_LIMB 4 |
#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 |
|
|
|
|
|
/* the low limb is ready after 4 cycles, but normally it's the high limb |
/* 1400 MHz athlon, gcc 2.95.3 */ |
which is of interest, and that comes out after 6 cycles */ |
|
#ifndef UMUL_TIME |
|
#define UMUL_TIME 6 /* cycles */ |
|
#endif |
|
|
|
/* AMD doco says 40, but it measures 39 back-to-back */ |
/* Generated by tuneup.c, 2001-11-28, gcc 2.95 */ |
#ifndef UDIV_TIME |
|
#define UDIV_TIME 39 /* cycles */ |
|
#endif |
|
|
|
/* using bsf */ |
#define MUL_KARATSUBA_THRESHOLD 26 |
#ifndef COUNT_TRAILING_ZEROS_TIME |
#define MUL_TOOM3_THRESHOLD 202 |
#define COUNT_TRAILING_ZEROS_TIME 7 /* cycles */ |
|
#endif |
|
|
|
|
#define SQR_BASECASE_THRESHOLD 0 |
|
#define SQR_KARATSUBA_THRESHOLD 50 |
|
#define SQR_TOOM3_THRESHOLD 226 |
|
|
/* Generated by tuneup.c, 2000-07-06. */ |
#define DIV_SB_PREINV_THRESHOLD 0 |
|
#define DIV_DC_THRESHOLD 92 |
|
#define POWM_THRESHOLD 142 |
|
|
#ifndef KARATSUBA_MUL_THRESHOLD |
#define GCD_ACCEL_THRESHOLD 3 |
#define KARATSUBA_MUL_THRESHOLD 26 |
#define GCDEXT_THRESHOLD 46 |
#endif |
|
#ifndef TOOM3_MUL_THRESHOLD |
|
#define TOOM3_MUL_THRESHOLD 177 |
|
#endif |
|
|
|
#ifndef KARATSUBA_SQR_THRESHOLD |
#define USE_PREINV_MOD_1 1 /* (native) */ |
#define KARATSUBA_SQR_THRESHOLD 52 |
#define DIVREM_2_THRESHOLD 0 |
#endif |
#define DIVEXACT_1_THRESHOLD 0 |
#ifndef TOOM3_SQR_THRESHOLD |
#define MODEXACT_1_ODD_THRESHOLD 0 |
#define TOOM3_SQR_THRESHOLD 173 |
|
#endif |
|
|
|
#ifndef BZ_THRESHOLD |
#define MUL_FFT_TABLE { 816, 1696, 3456, 7680, 22528, 0 } |
#define BZ_THRESHOLD 76 |
#define MUL_FFT_MODF_THRESHOLD 832 |
#endif |
#define MUL_FFT_THRESHOLD 8448 |
|
|
#ifndef FIB_THRESHOLD |
#define SQR_FFT_TABLE { 784, 1760, 3456, 7680, 18432, 40960, 0 } |
#define FIB_THRESHOLD 114 |
#define SQR_FFT_MODF_THRESHOLD 800 |
#endif |
#define SQR_FFT_THRESHOLD 8448 |
|
|
#ifndef POWM_THRESHOLD |
|
#define POWM_THRESHOLD 34 |
|
#endif |
|
|
|
#ifndef GCD_ACCEL_THRESHOLD |
|
#define GCD_ACCEL_THRESHOLD 5 |
|
#endif |
|
#ifndef GCDEXT_THRESHOLD |
|
#define GCDEXT_THRESHOLD 54 |
|
#endif |
|
|
|
#ifndef FFT_MUL_TABLE |
|
#define FFT_MUL_TABLE { 720, 1440, 2944, 7680, 18432, 57344, 0 } |
|
#endif |
|
#ifndef FFT_MODF_MUL_THRESHOLD |
|
#define FFT_MODF_MUL_THRESHOLD 736 |
|
#endif |
|
#ifndef FFT_MUL_THRESHOLD |
|
#define FFT_MUL_THRESHOLD 6912 |
|
#endif |
|
|
|
#ifndef FFT_SQR_TABLE |
|
#define FFT_SQR_TABLE { 784, 1696, 3200, 7680, 18432, 57344, 0 } |
|
#endif |
|
#ifndef FFT_MODF_SQR_THRESHOLD |
|
#define FFT_MODF_SQR_THRESHOLD 800 |
|
#endif |
|
#ifndef FFT_SQR_THRESHOLD |
|
#define FFT_SQR_THRESHOLD 8448 |
|
#endif |
|