tinygo/compileopts
Ayke van Laethem ca7c849da3 386: bump minimum requirement to the Pentium 4
Previously we used the i386 target, probably with all optional features
disabled. However, the Pentium 4 has been released a _long_ time ago and
it seems reasonable to me to take that as a minimum requirement.

Upstream Go now also seems to move in this direction:
https://github.com/golang/go/issues/40255

The main motivation for this is that there were floating point issues
when running the tests for the math package:

    GOARCH=386 tinygo test math

I haven't investigated what's the issue, but I strongly suspect it's
caused by the weird x87 80-bit floating point format. This could perhaps
be fixed in a different way (by setting the FPU precision to 64 bits)
but I figured that just setting the minimum requirement to the Pentium 4
would probably be fine. If needed, we can respect the GO386 environment
variable to support these very old CPUs.

To support this newer CPU, I had to make sure that the stack is aligned
to 16 bytes everywhere. This was not yet always the case.
2021-08-10 20:08:27 +02:00
..
config.go main: strip debug information at link time instead of at compile time 2021-07-31 18:33:52 +02:00
options.go all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
options_test.go compileopts: improve error reporting of unsupported flags 2020-05-16 23:29:47 +02:00
target.go 386: bump minimum requirement to the Pentium 4 2021-08-10 20:08:27 +02:00
target_test.go compileopts: simplify copyProperties using reflection 2020-09-20 13:49:16 +02:00