On Tue, Apr 21, 2009 at 2:20 AM, Jason Moxham <ja...@njkfrudils.plus.com> wrote:
> Your attatched gmp dummy32bit asm file is exactly the same as mpir dummy32bit > asm file , so it must be either our C file , which has only one main , or how > we call the compiler , again exactly the same as gmp > > I have NO IDEA whats going on You are right, the asm file is the same, and it seems the compiler is called the same way but the .c files are different. Here is diff < is gmp > is mpir: 0a1,6 > #define CONFIG_GUESS 1 > #define CONFIG_GUESS_32BIT 1 > #define CONFIG_GUESS_64BIT 0 > #define FAT32 0 > #define FAT64 0 > #define INFAT 0 2a9,19 > // this should return the microarchitecture , NOT which code path we think is > best > > #if CONFIG_GUESS > // use's the stringinzing directive #x so MODELSTR(teddy) expands to > modelstr="teddy" > #define CPUIS(x) modelstr=#x > #define __gmpn_cpuid cpuid > #endif > #if INFAT > #define CPUIS(x) do{TRACE(printf(" "#x"\n"));CPUSETUP_##x;}while(0) > #endif > 4c21 < char dummy_string[12]; --- > char features[12]; 9c26 < cpuid (vendor_string, 0); --- > __gmpn_cpuid (vendor_string, 0); 12,16c29 < fms = cpuid (dummy_string, 1); < < family = ((fms >> 8) & 0xf) + ((fms >> 20) & 0xff); < model = ((fms >> 4) & 0xf) + ((fms >> 12) & 0xf0); < stepping = fms & 0xf; --- > fms = __gmpn_cpuid (features, 1); 17a31,35 > family = ((fms >> 8) & 15) + ((fms >> 20) & 0xff); > model = ((fms >> 4) & 15) + ((fms >> 12) & 0xf0); > stepping = fms & 15; > > #if CONFIG_GUESS_64BIT 18a37,40 > #else > modelstr = "i486";// shouldn't we make this x86?? > #endif > 22a45 > #if CONFIG_GUESS_32BIT || FAT32 24,25c47,48 < if (model <= 2) modelstr = "pentium"; < else if (model >= 4) modelstr = "pentiummmx"; --- > if (model <= 2) CPUIS(pentium); > if (model >= 4) CPUIS(pentiummmx); 26a50 > #endif 28,39c52,76 < if (model <= 1) modelstr = "pentiumpro"; < else if (model <= 6) modelstr = "pentium2"; < else if (model <= 8) modelstr = "pentium3"; < else if (model <= 9) modelstr = "pentiumm"; < else if (model <= 12) modelstr = "pentium3"; < else if (model <= 14) modelstr = "pentiumm"; < else if (model <= 27) modelstr = "core2"; < else modelstr = "atom"; < break; < case 15: < modelstr = "pentium4"; < break; --- > #if CONFIG_GUESS_32BIT || FAT32 > if (model == 1) { CPUIS(pentiumpro);break;} > if (model <= 6) { CPUIS(pentium2);break;} > if (model <= 13){ CPUIS(pentium3);break;} > if (model == 14){ CPUIS(core);break;} > #endif > if (model == 15){ CPUIS(core2);break;} > if (model == 22){ CPUIS(core2);break;} > if (model == 23){ CPUIS(penryn);break;} > if (model == 26){ CPUIS(nehalem);break;} > if (model == 28){ CPUIS(atom);break;} > if (model == 29){ CPUIS(penryn);break;} > break; > case 15: > #if CONFIG_GUESS_64BIT || FAT64 > __gmpn_cpuid(features,0x80000001); > if ( features[8]&1 ){ CPUIS(netburstlahf);break;} > CPUIS(netburst); > #endif > #if CONFIG_GUESS_32BIT || FAT32 > if (model <= 6) { CPUIS(pentium4);break;} > int feat = ((int *)features)[2]; > if (feat & 1) { CPUIS(prescott);break;} > #endif > break; 45a83 > #if CONFIG_GUESS_32BIT || FAT32 47,52c85,88 < if (model <= 3) modelstr = "k5"; < else if (model <= 7) modelstr = "k6"; < else if (model == 8) modelstr = "k62"; < else if (model == 9) modelstr = "k63"; < else if (model == 10) modelstr = "geode"; < else if (model == 13) modelstr = "k63"; --- > if (model <= 3) { CPUIS(k5);break;} > if (model <= 7) { CPUIS(k6);break;} > if (model <= 8) { CPUIS(k62);break;} > if (model <= 9) { CPUIS(k63);break;} 55c91,95 < modelstr = "athlon"; --- > CPUIS(k7); > break; > #endif > case 15: > CPUIS(k8); 57d96 < case 15: 59c98,99 < modelstr = "athlon64"; --- > if (model == 2) { CPUIS(k10);break;} // phenom > if (model == 4) { CPUIS(k10);break;} //phenom II 61c101 < } --- > } 62a103 > #if CONFIG_GUESS_32 || FAT32 72,74c113,114 < if (model < 9) modelstr = "viac3"; < else modelstr = "viac32"; < break; --- > if (model < 9) { CPUIS(viac3);break;} > CPUIS(viac32);break; 77c117 < --- > #endif 79,80c119 < return 0; < } --- > return 0;} --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "mpir-devel" group. To post to this group, send email to mpir-devel@googlegroups.com To unsubscribe from this group, send email to mpir-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/mpir-devel?hl=en -~----------~----~----~----~------~----~------~--~---