]> Cypherpunks repositories - gostls13.git/commit
[dev.ssa] cmd/compile: PPC64, FP to/from int conversions.
authorDavid Chase <drchase@google.com>
Wed, 10 Aug 2016 18:44:57 +0000 (11:44 -0700)
committerDavid Chase <drchase@google.com>
Mon, 15 Aug 2016 14:47:49 +0000 (14:47 +0000)
commitd08010f94e06e5d5b6d01c248ba2a976b75d95a2
treedf74490d9fecdccb5f75f7786ffa19f892cdb5ed
parentd99cee79b98dfb6c1cd8e64c96845ee29aa28b4c
[dev.ssa] cmd/compile: PPC64, FP to/from int conversions.

Passes ssa_test.

Requires a few new instructions and some scratchpad
memory to move data between G and F registers.

Also fixed comparisons to be correct in case of NaN.
Added missing instructions for run.bash.
Removed some FP registers that are apparently "reserved"
(but that are also apparently also unused except for a
gratuitous multiplication by two when y = x+x would work
just as well).

Currently failing stack splits.

Updates #16010.

Change-Id: I73b161bfff54445d72bd7b813b1479f89fc72602
Reviewed-on: https://go-review.googlesource.com/26813
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
13 files changed:
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/ppc64/prog.go
src/cmd/compile/internal/ppc64/ssa.go
src/cmd/compile/internal/ssa/config.go
src/cmd/compile/internal/ssa/gen/PPC64.rules
src/cmd/compile/internal/ssa/gen/PPC64Ops.go
src/cmd/compile/internal/ssa/lower.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/rewritePPC64.go
src/cmd/compile/internal/x86/387.go
src/cmd/internal/obj/ppc64/a.out.go
src/cmd/internal/obj/ppc64/anames.go
src/cmd/internal/obj/ppc64/asm9.go