[arch-dev-public] i686 and SSE2
ballogyor at gmail.com
Mon Sep 19 18:57:01 UTC 2016
2016-09-19 15:34 GMT+02:00 Allan McRae <allan at archlinux.org>:
> On 19/09/16 23:14, Balló György via arch-dev-public wrote:
> > 2016-09-19 7:02 GMT+02:00 Allan McRae <allan at archlinux.org>:
> >> This goes beyond just adding SSE2 support.
> >> Years ago, Arch Linux was "optimised for modern processors". These were
> >> the days when every other distro was using i386 and we had a blazingly
> >> fast i686 port. Now every other distro uses i686 while we have sat
> >> still. Even major software developments are starting to require SSE2.
> >> It is time we moved forward.
> >> How can we achieve this? I see several options:
> >> 1) Do "nothing". Add a hook to the filesystem package that detects
> >> whether a system has SSE2 support and blocks installation of certain
> >> packages.
> >> 2) Add SSE2 to our optimisations and require "i686 + SSE2"
> >> 3) Move our minimum CPU to something less than 20 years old (even i786
> >> would get us SSE2+3 instructions and is 15 years old)
> >> 4) We add more modern CPU builds (and set them automatically building
> >> once the base architecture is updated).
> >> I am in favour of #3 for our 32-bit support. And that would be end of
> >> line as far as 32 bit support in this distribution goes.
> >> (We may want to consider #4 for our x86_64, but that is another
> >> conversation).
> >> Allan
> > I would not be happy with #3, because I still have two 13 years old
> > with NetBurst-based CPUs without SSE3 support. But of course I don't use
> > them in everyday use.
> If we limit our choice based on your CPU, then we need to limit based on
> the other CPU mentioned in this thread.
> That should not be a consideration at all. What we need to do is think
> about what make our distribution worthy of being a distribution.
> Original the selling points were rolling release, vanilla packages and
> optimised binaries. We have lost the latter. Do we want to get it back?
Another option could be to keep i686 and x86_64 as is, and introduce new
architectures with automatically built optimised packages for i686 + SSE2
or SSE3, and for x86_64 + SSE4.2 or AVX. This is something similar to your
option #4, but keeps the compatibility with all existing systems.
More information about the arch-dev-public