I make a GO386=387 build for rclone, eg

https://github.com/rclone/rclone/issues/437
People love running rclone on ancient computers to rescue data off them I 
guess.

This would affect a very small percentage of users and there are always 
older versions of rclone they can use so I'm not too bothered if support is 
dropped.

I haven't tried compiling rclone with gccgo for a while.

It would be helpful if the build fails rather than silently ignoring the 
GO386 flag if this proposal does go forward.

On Tuesday, 14 July 2020 at 13:56:58 UTC+1 aus...@google.com wrote:

> Hi everyone. We’re exploring the possibility of dropping 387 
> floating-point support and requiring SSE2 support for GOARCH=386 in the 
> native gc compiler, potentially in Go 1.16. This would raise the minimum 
> GOARCH=386 requirement to the Intel Pentium 4 (released in 2000) or AMD 
> Opteron/Athlon 64 (released in 2003).
>
> There are several reasons we’re considering this:
>
>    1. While 387 support isn’t a huge maintenance burden, it does take 
>    time away from performance and feature work and represents a fair amount 
> of 
>    latent complexity.
>    2. 387 support has been a regular source of bugs (#36400 
>    <http://golang.org/issue/36400#issuecomment-591101886>, #27516 
>    <http://golang.org/issue/27516>, #22429 <http://golang.org/issue/22429>, 
>    #17357 <http://golang.org/issue/17357>, #13923 
>    <http://golang.org/issue/13923>, #12970 <http://golang.org/issue/12970>, 
>    #4798 <http://golang.org/issue/4798>, just to name a few).
>    3. 387 bugs often go undetected for a long time because we don’t have 
>    builders that support only 387 (so unsupported instructions can slip in 
>    unnoticed).
>    4. Raising the minimum requirement to SSE2 would allow us to also 
>    assume many other useful architectural features, such as proper memory 
>    fences and 128 bit registers, which would simplify the compiler and 
> runtime 
>    and allow for much more efficient implementations of core functions like 
>    memmove on 386.
>    5. We’re exploring switching to a register-based calling convention in 
>    Go 1.16, which promises significant performance improvements, but 
> retaining 
>    387 support will definitely complicate this and slow our progress.
>
>
> The gccgo toolchain will continue to support 387 floating-point, so this 
> remains an option for projects that absolutely must use 387 floating-point.
>
> We’d like to know if there are still significant uses of GO386=387, 
> particularly for which using gccgo would not be a viable option.
>
> Thanks!
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/babd66fd-fe7f-4840-b1aa-8cb32b499b67n%40googlegroups.com.

Reply via email to