Gentoo Archives: gentoo-user

From: Fernando Rodriguez <frodriguez.developer@×××××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Will a 64-bit-no-multilib machine cross-compile 32-bit code?
Date: Tue, 24 Mar 2015 00:37:41
Message-Id: 1714882.Lr3TaDaFxE@navi
In Reply to: Re: [gentoo-user] Will a 64-bit-no-multilib machine cross-compile 32-bit code? by Mike Gilbert
1 On Monday, March 23, 2015 6:48:39 PM Mike Gilbert wrote:
2 > On Mon, Mar 23, 2015 at 6:41 PM, Fernando Rodriguez
3 > <frodriguez.developer@×××××××.com> wrote:
4 > > On Monday, March 23, 2015 6:18:46 PM Mike Gilbert wrote:
5 > >> On Mon, Mar 23, 2015 at 9:51 PM, Walter Dnes <waltdnes@××××××××.org>
6 wrote:
7 > >> > On Sun, Mar 22, 2015 at 09:25:53PM -0400, Fernando Rodriguez wrote
8 > >> >
9 > >> >> I guess gcc devs are careful when using the model numbers (Intel
10 > >> >> lists 3 for Atoms, gcc uses only two so that may account for the
11 > >> >> models I mentioned) but the chance of error is there. The -mno-xxx
12 > >> >> flags would safeguard against it.
13 > >> >
14 > >> > I have one of the earliest Atom chips. Some people have a hard time
15 > >> > believing this, but it's a 32-bit-only chip; a couple of lines from
16 > >> > /proc/cpuinfo
17 > >> >
18 > >> > model name : Intel(R) Atom(TM) CPU Z520 @ 1.33GHz
19 > >> > address sizes : 32 bits physical, 32 bits virtual
20 > >> >
21 > >> > Intel gives the CPU's specs at...
22 > >> >
23 > >> > http://ark.intel.com/products/35466/Intel-Atom-Processor-Z520-512K-Cache-1_33-GHz-533-MHz-FSB
24 > >> >
25 > >> > ...where it specifically says...
26 > >> >
27 > >> > Intel 64 # No
28 > >> >
29 > >> > I want to make absolutely certain that "illegal instructions" are not
30 > >> > compiled for it.
31 > >>
32 > >> You will probably need to add -m32 to CFLAGS to avoid building 64-bit
33 > >> objects on the 64-bit machine.
34 > >>
35 > >
36 > > Your CPU is an example of what I'm saying, not just because it doesn't
37 have 64
38 > > bit extensions but because it doesn't have MMX (at least according to the
39 > > specs) and according to the GCC manual -march=atom means: "Intel Atom CPU
40 with
41 > > 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3 and SSSE3 instruction set
42 > > support." So I guess it's more common than I thought.
43 > >
44 > > So you may also want to add -mno-mmx to be sure. GCC does check for mmx
45 but it
46 > > doesn't not use it on the output (probably a bug?).
47 > >
48 >
49 > It's much more likely that Intel's website doesn't bother including
50 > MMX because it is so damn old that nobody cares.
51 >
52 > /proc/cpuinfo would be a more reliable source of data.
53 >
54
55 I agree that's very likely, that's why I said if the specs are right...
56 This one doesn't list any SIMD extensions at all:
57 http://ark.intel.com/products/85475/Intel-Atom-x7-Z8700-Processor-2M-Cache-up-to-2_40-GHz
58
59
60 --
61 Fernando Rodriguez