From 5b9ff11c3d50368c44ae7aa9cb4b58c67494e7bb Mon Sep 17 00:00:00 2001 From: David Chase Date: Mon, 15 Aug 2016 13:51:00 -0700 Subject: cmd/compile: ppc64le working, not optimized enough This time with the cherry-pick from the proper patch of the old CL. Stack size increased. Corrected NaN-comparison glitches. Marked g register as clobbered by calls. Fixed shared libraries. live_ssa.go still disabled because of differences. Presumably turning on more optimization will fix both the stack size and the live_ssa.go glitches. Enhanced debugging output for shared libs test. Rebased onto master. Updates #16010. Change-Id: I40864faf1ef32c118fb141b7ef8e854498e6b2c4 Reviewed-on: https://go-review.googlesource.com/27159 Run-TryBot: David Chase TryBot-Result: Gobot Gobot Reviewed-by: Cherry Zhang --- src/cmd/internal/obj/ppc64/a.out.go | 10 +++++----- src/cmd/internal/obj/ppc64/asm9.go | 4 ++-- src/cmd/internal/obj/stack.go | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src/cmd/internal/obj') diff --git a/src/cmd/internal/obj/ppc64/a.out.go b/src/cmd/internal/obj/ppc64/a.out.go index eb0baaf6df..e79271042a 100644 --- a/src/cmd/internal/obj/ppc64/a.out.go +++ b/src/cmd/internal/obj/ppc64/a.out.go @@ -266,13 +266,13 @@ const ( ABC ABCL ABEQ - ABGE + ABGE // not LT = G/E/U ABGT - ABLE + ABLE // not GT = L/E/U ABLT - ABNE - ABVC - ABVS + ABNE // not EQ = L/G/U + ABVC // apparently Unordered-clear + ABVS // apparently Unordered-set ACMP ACMPU ACNTLZW diff --git a/src/cmd/internal/obj/ppc64/asm9.go b/src/cmd/internal/obj/ppc64/asm9.go index 968bc95e10..18a34e410a 100644 --- a/src/cmd/internal/obj/ppc64/asm9.go +++ b/src/cmd/internal/obj/ppc64/asm9.go @@ -3092,9 +3092,9 @@ func opirr(ctxt *obj.Link, a obj.As) uint32 { case ABNE: return AOP_RRR(16<<26, 4, 2, 0) case ABVC: - return AOP_RRR(16<<26, 4, 3, 0) + return AOP_RRR(16<<26, 4, 3, 0) // apparently unordered-clear case ABVS: - return AOP_RRR(16<<26, 12, 3, 0) + return AOP_RRR(16<<26, 12, 3, 0) // apparently unordered-set case ACMP: return OPVCC(11, 0, 0, 0) | 1<<21 /* L=1 */ diff --git a/src/cmd/internal/obj/stack.go b/src/cmd/internal/obj/stack.go index 712a10f2ef..687adf20f3 100644 --- a/src/cmd/internal/obj/stack.go +++ b/src/cmd/internal/obj/stack.go @@ -11,7 +11,7 @@ const ( STACKSYSTEM = 0 StackSystem = STACKSYSTEM StackBig = 4096 - StackGuard = 720*stackGuardMultiplier + StackSystem + StackGuard = 880*stackGuardMultiplier + StackSystem StackSmall = 128 StackLimit = StackGuard - StackSystem - StackSmall ) -- cgit v1.3-5-g9baa