Future direction of x86 builds
Stefan Lippers-Hollmann
s.l-h at gmx.de
Sun May 10 04:35:47 PDT 2026
Hi
On 2026-05-10, Nick Lowe wrote:
[...]
> Proposed Targets
>
> 1) x86/i686
> Baseline 32-bit compatibility target.
>
> Suggested compiler baseline:
> -march=i686
[...]
> 2) x86/i686-sse2
>
> Optimised modern 32-bit target.
>
> Suggested compiler baseline:
>
> -march=i686 -msse2 -mfpmath=sse
[...]
Right now, three 32-bit x86 targets is quite a maintenance- and buildbot
overhead that IMHO doesn't make sense, even less in 2026.
Rather than trying to reduce it from three to two, I'd strongly suggest
to drop it down to one, with the lowest common denominator deemed to be
still important or sensible.
For (almost) all cases OpenWrt is usually used for (routing and
networking in general), -msse2 -mfpmath=sse doesn't provide you any
gains at all - and the things that really profit from those, are exactly
the things where basically anything but 32-bit x86 and mips is better
than real-world 32-bit x86 systems. This also isn't a platform used as
virtualisation platform (with VMs that could profit from SSE2), there is
only a single CPU generation (core 1 solo) which supported hardware
virtualization, while still being 32-bit only - but kernel/ kvm have
dropped support for this odd one out.
Overall it sounds more sensible to reduce these 32-bit x86 flavours down
to one, barely anyone really cares about them anyways and the
performance/ watt is bad compared to semi-modern ARMv8 designs or modern
x86_64 anyways. For those who actually do profit from optimized builds,
doing personal builds with adapted compiler/ march settings would be more
sensible.
The easy choice would be drop everything but the oldest 32-bit x86
(sub-)target, making sure that the then-wrongly disabled features get
enabled (again). This should then support all 32-bit x86 targets
currently supported by the three dedicated subtargets. Once this is done,
the lowest sensible baseline can be reconsidered.
###
About x86_64, I haven't really seen any compelling reason to diversify
into different subtargets here. Even the benchmarking results I have
seen are rather small - and only cover operations that really profit
from SSE2/ AVX and friends, in other words nothing you'd commonly do
on your router.
Regards
Stefan Lippers-Hollmann
More information about the openwrt-devel
mailing list