]> Cypherpunks.ru repositories - gostls13.git/commit
[dev.ssa] cmd/compile: implement GO386=387
authorKeith Randall <khr@golang.org>
Tue, 26 Jul 2016 18:51:33 +0000 (11:51 -0700)
committerKeith Randall <khr@golang.org>
Wed, 10 Aug 2016 17:41:01 +0000 (17:41 +0000)
commitc069bc49963bd5c2c152fe600fdcb9a2b7b58f76
treeec3fddf4775c4092bb6e4b7beba0751940b1c2c7
parent77ef597f38e11e03522d1ccac34cfd39a1ca8d8e
[dev.ssa] cmd/compile: implement GO386=387

Last part of the 386 SSA port.

Modify the x86 backend to simulate SSE registers and
instructions with 387 registers and instructions.
The simulation isn't terribly performant, but it works,
and the old implementation wasn't very performant either.
Leaving to people who care about 387 to optimize if they want.

Turn on SSA backend for 386 by default.

Fixes #16358

Change-Id: I678fb59132620b2c47e993c1c10c4c21135f70c0
Reviewed-on: https://go-review.googlesource.com/25271
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
13 files changed:
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/ssa/config.go
src/cmd/compile/internal/ssa/gen/386Ops.go
src/cmd/compile/internal/ssa/regalloc.go
src/cmd/compile/internal/x86/387.go [new file with mode: 0644]
src/cmd/compile/internal/x86/ssa.go
src/runtime/asm_386.s
src/runtime/vlrt.go
test/live.go
test/live_ssa.go
test/nilptr3.go
test/nilptr3_ssa.go
test/sliceopt.go