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
-~----------~----~----~----~------~----~------~--~---

Reply via email to