[arch-dev-public] i686 and SSE2

Christian Hesse list at eworm.de
Mon Sep 19 10:40:51 UTC 2016

Allan McRae <allan at archlinux.org> on Mon, 2016/09/19 19:34:
> On 19/09/16 19:05, Christian Hesse wrote:
> > Bartłomiej Piotrowski <bpiotrowski at archlinux.org> on Fri, 2016/09/16
> > 21:44:  
> >> Actually, why don't raise the bar higher? SSE2 has been introduced in
> >> 2001 – that's 15 years to upgrade one's hardware and given my sad
> >> experiences with computers, I find it hard to believe anyone has that
> >> old PC that happens to run Arch.  
> > 
> > I do. Running Arch Linux on a bunch of informational room displays...
> > These are based on Geode CPUs and I am pretty sure no SSE2 is available.
> > (Taking a look at /proc/cpuinfo these devices do not even feature SSE...
> > The CPU identifies itself as i586.)

This is buggy hardware... SSE is available ('gcc -O3 -msse -mno-sse2'
produces functional output), SSE2 is not ('gcc -O3 -msse2' breaks with
illegal instruction).

> > That said I will be able to handle that myself. ;)
> > Possibly I will have to do local rebuilds of webkitgtk2 to make surf run
> > on these devices from time to time.  
> If we adopt SSE2 in any form, you will need to rebuild your entire
> system to use it.  It will be used in optimizations everywhere.

Well, that could cause some headache for me... :-p

In the end it depends on what code is optimized by gcc. Would SSE2 code be
used by that much packages?

We could just keep i686 as-is for maximum compatibility. Let's take a
realistic look at the things: Most users run i686, so why bother and optimize
i686 - just to save some CPU cycles for a minority?
(I would even wast CPU cycle rebuilding a bunch of packages... pacman tells
me the effected boxes have 399 packages installed.)

So better raise requirements for x86_64. All x86_64 (and most overall) users
will benefit. Older AMD CPUs (or really old Intel ones?) without SSE4 could
still run i686 then - so nobody is forced to run anything else than Arch
Linux. ;)
main(a){char*c=/*    Schoene Gruesse                         */"B?IJj;MEH"
"CX:;",b;for(a/*    Best regards             my address:    */=0;b=c[a++];)
putchar(b-1/(/*    Chris            cc -ox -xc - && ./x    */b/42*2-3)*42);}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 455 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/arch-dev-public/attachments/20160919/91886c7f/attachment.asc>

More information about the arch-dev-public mailing list