tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Softfloat on i386



On Thu, 1 Jan 2026 at 00:44, David Holland <dholland-pkgtech%netbsd.org@localhost> wrote:
>
> On Wed, Dec 31, 2025 at 07:15:48PM -0500, Greg Troxel wrote:
>  > > The problem is that go is a compiler and it apparently only supports
>  > > codegen for either (a) sse2 and newer or (b) softfloat. This means
>  > > there's a range of non-486SX (and non-486) machines where the only
>  > > working option is softfloat.
>  >
>  > I'd call that a bug in go.
>
> So would I, but it's also a reasonable support choice if you don't
> have a retrocomputing or otherwise niche audience. x86 cpus without
> sse2 are, mostly, more than 20 years old now.
>
> Obviously, anyone who wants to get involved with this particular
> windmill is welcome to try to implement older x86 FPU support and try
> to get it merged upstream :-)

An easier option for universal binaries might be to look at adding an
option to go to build with both SSE & softfloat, and make it
selectable at runtime.

From a quick check on go125, "#ifdef GO386_softfloat" is mentioned 8
times, 7 of which are in .s files, so it could be an interesting
project for someone interested in x86 assembly :)

It looks like go included x87 FPU support in at least 1.4, but dropped
it by 1.18, so someone *could* potentially try to port it forward, but
I think the run-time selection would be a better project...

There is still the valid question as to what pkgsrc should support for
NetBSD/i386.

I'd suggested that if we're only producing one set of binaries it
should support the same set of CPUs as the NetBSD distribution - so
486.

Though...if someone is interested in running some benchmarks on an
SSE2 supporting CPU to determine how much benefit could be gained by
compiling with something like "-msse2 -march=pentium4" that would help
determine whether it is even worth providing a second set of
binaries...

David


Home | Main Index | Thread Index | Old Index