i386 Multilib Options

Till Straumann strauman at slac.stanford.edu
Mon Mar 28 22:09:35 UTC 2011

On 03/28/2011 03:27 PM, Joel Sherrill wrote:
> Hi,
> I don't think we have looked at multilib options
> for the i386 in a while. Should the set be adjusted?
> I currently see
> ./libc.a
> ./soft-float/libc.a
> ./mpentiumpro/libc.a
> ./mpentium/libc.a
> ./m486/libc.a
> ./m486/soft-float/libc.a
> We have previously agreed that soft-float is
> important and leaned to keeping the i386.

Note that these are in fact all i386 variants
since they were generated with -mtune. Hence,
they are all restricted to using the i386
instruction set (no SSE, nothing else added
since the eighties).

> The i486 class is a distinct improvement on
> that but I don't know if it really is worth
> a multilib. Any true instruction or tuning
> differences?
> That leaves us with pentium and pentiumpro.
> Are these the best selections? Worth keeping?
> Should we switch from -mtune to -march? Does
> this buy any performance improvements.
> We have pc386 variants with SSE enabled. Is this
> enough? Do we need MMX or SSE2/3 BSPs. Does this
> require something in RTEMS?

RTEMS 4.10 does support context-switching SSE
registers but you must compile RTEMS (and newlib etc.)
with flags that enable sse/sse2/sse3.

Currently, there is no multilib variant that has
any sse enabled so you can't use SSE unless you
roll your own toolchain (with a sse-aware multilib

> Just trying to take a lay of the land from the
> community's perspective and derive some requirements.
> Thanks.

More information about the users mailing list