SSE2 required for i686 targets in rust >= 1.86

Jan Rękorajski baggins at pld-linux.org
Wed Jul 23 22:33:54 CEST 2025


On Wed, 23 Jul 2025, Jakub Bogusz wrote:

> On Fri, May 16, 2025 at 12:27:34PM +0200, Jan Palus wrote:
> > Starting with rust 1.86 binaries built for i686 (including rustc itself)
> > require SSE2 instructions (refer to release notes for rationale). The
> > question is how we'd like to handle this:
> > 
> > 1. Change target to i586-unknown-linux-gnu for i686.
> >    i586-unknown-linux-gnu is "Tier 2 platform without host tools" so
> >    we'd need to build both i686-unknown-linux-gnu for tools which would
> >    require SSE2 as well as i586-unknown-linux-gnu.
> > 
> > 2. Put "Requires: cpuinfo(sse2)" possibly through some %rust_req macro
> >    in every package utilizing rust
> > 
> > 3. Change our baseline for i686 so SSE2 is mandatory and do nothing.
> > 
> > Any other ideas are welcome.
> 
> 1 looks like big PITA, so I'd go with 2...

Considering that more and more ~base libraries are being ported to rust
and ix86 *hardware* is practically obsolete and barely exists, the only
real choice is 3.

Let's face it, we have i686 not to run on i686 hw, but for random
binaries not available on x86_64.

-- 
Jan Rękorajski                    | PLD/Linux
SysAdm | baggins<at>pld-linux.org | http://www.pld-linux.org/


More information about the pld-devel-pl mailing list