On Mon, Mar 23, 2015 at 6:41 PM, Fernando Rodriguez <frodriguez.develo...@outlook.com> wrote: > On Monday, March 23, 2015 6:18:46 PM Mike Gilbert wrote: >> On Mon, Mar 23, 2015 at 9:51 PM, Walter Dnes <waltd...@waltdnes.org> wrote: >> > On Sun, Mar 22, 2015 at 09:25:53PM -0400, Fernando Rodriguez wrote >> > >> >> I guess gcc devs are careful when using the model numbers (Intel >> >> lists 3 for Atoms, gcc uses only two so that may account for the >> >> models I mentioned) but the chance of error is there. The -mno-xxx >> >> flags would safeguard against it. >> > >> > I have one of the earliest Atom chips. Some people have a hard time >> > believing this, but it's a 32-bit-only chip; a couple of lines from >> > /proc/cpuinfo >> > >> > model name : Intel(R) Atom(TM) CPU Z520 @ 1.33GHz >> > address sizes : 32 bits physical, 32 bits virtual >> > >> > Intel gives the CPU's specs at... >> > >> > http://ark.intel.com/products/35466/Intel-Atom-Processor-Z520-512K-Cache-1_33-GHz-533-MHz-FSB >> > >> > ...where it specifically says... >> > >> > Intel 64 # No >> > >> > I want to make absolutely certain that "illegal instructions" are not >> > compiled for it. >> >> You will probably need to add -m32 to CFLAGS to avoid building 64-bit >> objects on the 64-bit machine. >> > > Your CPU is an example of what I'm saying, not just because it doesn't have 64 > bit extensions but because it doesn't have MMX (at least according to the > specs) and according to the GCC manual -march=atom means: "Intel Atom CPU with > 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3 and SSSE3 instruction set > support." So I guess it's more common than I thought. > > So you may also want to add -mno-mmx to be sure. GCC does check for mmx but it > doesn't not use it on the output (probably a bug?). >
It's much more likely that Intel's website doesn't bother including MMX because it is so damn old that nobody cares. /proc/cpuinfo would be a more reliable source of data.