/* these values were determined on gcc110.fsffrance.org with ecm-6.4.4,
   gmp-5.1.1, and gcc 4.7.2, CFLAGS="-m64 -mtune=power7 -O3" */

/* 0:mulredc 1:mul+redc_1 2:mul+redc_2 3:mul+redc_n */
#define TUNE_MULREDC_TABLE {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,1}
/* 0:mulredc 1:sqr+redc_1 2:sqr+redc_2 3:sqr+redc_n */
#define TUNE_SQRREDC_TABLE {0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,1,1}

#define MPZMOD_THRESHOLD 75
#define REDC_THRESHOLD 512
#define MPN_MUL_LO_THRESHOLD_TABLE {0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 13, 13, 13, 13, 13, 18, 16, 18, 18, 18, 18}
#define NTT_GFP_TWIDDLE_DIF_BREAKOVER 17
#define NTT_GFP_TWIDDLE_DIT_BREAKOVER 17
#define MUL_NTT_THRESHOLD 262144
#define PREREVERTDIVISION_NTT_THRESHOLD 128
#define POLYINVERT_NTT_THRESHOLD 2048
#define POLYEVALT_NTT_THRESHOLD 8192
#define MPZSPV_NORMALISE_STRIDE 512
