Gentoo Archives: gentoo-embedded

From: Martin Guy <martinwguy@×××××.com>
To: gentoo-embedded@l.g.o
Subject: Re: [gentoo-embedded] pxa270 cflags?
Date: Wed, 12 Aug 2009 21:33:25
Message-Id: 56d259a00908121433h4e76971eqc2b917051cd10b48@mail.gmail.com
In Reply to: [gentoo-embedded] pxa270 cflags? by Christopher Friedt
1 Strictly speaking, iWMMXt is a coprocessor of the ARM, not a CPU, so
2 technically it is like an FPU except that it does not do floating
3 point, so it is modelled as a cpu in GCC, with an instruction set that
4 is a superset of the armv5te set. It's a bit like the difference
5 between pentium and pentium MMX. It only exists in silicon as a
6 coprocessor for armv5te cores as far as I know, hence "iwmmxt is
7 armv5te with extra stuff".
8 Yes, it has its own old-ABI, which requires 8-byte alignment of
9 double words. EABI (v4) has this anyway so it may work.
10 Furthermore, it hijacks the same coprocessor interface as the old
11 FPA floating point accelerator, or in other words, the bit patterns of
12 its instructions overlap with the FPA instruction set, so you must use
13 soft float and cannot use kernel emulation of FPA instructions. That's
14 not really a problem since no silicon exists with both iwmmxt coproc
15 and a real FPU of any kind, so you would want to use softfloat anyway.
16 The main instructions that iwmmxt adds to the armv5te set are real
17 64-bit integer operations and a slew of vector instructions for those
18 tight inner loops. Whether it works, of course... have you tried
19 building gcc for it and running the testsuite on iwmmxt hardware? Prod
20 me if you need runes to do this.
21
22 > gcc fails saying that "-march=armv5te -mtune=iwmmxt" is not kosher
23
24 Indeed. iwmmxt is modeled as both a cpu and an ISA, but unless there
25 are iwmmxt insns included, the tuning would be a no-op. It would be
26 like cpu=armv4 arch=armv4t - the armv4 can't run all armv4t
27 instructions.
28
29 Did you run into problems with cpu=iwmmxt?
30
31 M

Replies

Subject Author
Re: [gentoo-embedded] pxa270 cflags? Christopher Friedt <chrisfriedt@×××××.com>