
zad
By: a guest on
Jan 9th, 2009 | syntax:
None | size: 1.22 KB | hits: 54 | expires: Never
http://mxr.mozilla.org/mozilla-central/source/modules/lcms/src/cmsxform.c#96
89 #define HAVE_MMX_INTEL_MNEMONICS
90
91 /* SSE2 code appears broken for some cpus (bug 247437) */
92 #define HAVE_SSE2_INTEL_MNEMONICS
93 #define HAVE_SSE2_INTRINSICS
94 #endif
95
96 #if defined(__GNUC__) && defined(__x86_64__) /*defined(__i386__) */ // hangs up
96 #if defined(__GNUC__) || defined(__i386__) || defined(__x86_64__) || defined(__amd64__) //would this be appropriate?
97
98 /* Get us a CPUID function. We can't use ebx because it's the PIC register on
99 some platforms, so we use ESI instead and save ebx to avoid clobbering it. */
100 LCMS_INLINE void LCMSCPUID(DWORD fxn, LPDWORD a, LPDWORD b, LPDWORD c, LPDWORD d) {
z101
102 DWORD a_, b_, c_, d_;
103 __asm__ __volatile__ ("xchgl %%ebx, %%esi; cpuid; xchgl %%ebx, %%esi;"
104 : "=a" (a_), "=S" (b_), "=c" (c_), "=d" (d_) : "a" (fxn));
105 *a = a_;
106 *b = b_;
107 *c = c_;
108 *d = d_;
109 }
110
111 #define HAVE_SSE2_INTRINSICS
112 /* XXX - the below wasn't in jpeg/jmorecfg.h - why? */
113 #define HAVE_SSE2_INTEL_MNEMONICS
114 #endif /* ! GNUC && i386 */