Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/compile: misuse of REGTMP in optimizer on ppc64 #12597

Closed
minux opened this issue Sep 12, 2015 · 5 comments
Closed

cmd/compile: misuse of REGTMP in optimizer on ppc64 #12597

minux opened this issue Sep 12, 2015 · 5 comments

Comments

@minux
Copy link
Member

minux commented Sep 12, 2015

=== RUN   TestTformOver
--- FAIL: TestTformOver (7.61s)
panic: runtime error: index out of range [recovered]
        panic: runtime error: index out of range

goroutine 19 [running]:
testing.tRunner.func1(0xc82009c000)
        /go/src/testing/testing.go:450 +0x170
vendor/golang.org/x/image/draw.ablInterpolator.transform_RGBA_NRGBA_Over(0xc820016e80, 0xf, 0xa, 0x52, 0x4d, 0x0, 0x0, 0x43, 0x43, 0xc8200a77e0, ...)
        /src/golang.org/x/image/draw/impl.go:2998 +0xcf4

Probably a codegen bug.

@minux minux self-assigned this Sep 12, 2015
@minux minux added this to the Go1.6 milestone Sep 12, 2015
@minux
Copy link
Member Author

minux commented Sep 12, 2015

On linux/ppc64, TestInterpClipCommute and TestRectDstMask also fails.

It's probably due to missing narrowing masks.
Update: seems a regalloc bug, because all the tests pass with -gcflags=-N,
but test won't pass if only peephole optimizer is disabled.

@mwhudson
Copy link
Contributor

Can this be added to the go 1.5.2 milestone please?

@ianlancetaylor ianlancetaylor modified the milestones: Go1.5.2, Go1.6 Nov 13, 2015
@ianlancetaylor
Copy link
Contributor

Done (without actually looking at the issue).

@minux
Copy link
Member Author

minux commented Nov 13, 2015 via email

@rsc rsc changed the title x/image/draw: TestTformOver fails on linux/ppc64 cmd/compile: misuse of REGTMP in optimizer on ppc64 Nov 13, 2015
@gopherbot
Copy link

CL https://golang.org/cl/16981 mentions this issue.

aclements pushed a commit that referenced this issue Nov 17, 2015
…pc64

ppc64 codegen assumes that it is OK to stomp on r31 at any time, but it is not
excluded from the set of registers that regopt is allowed to use.

Fixes #12597

Change-Id: I29c7655e32abd22f3c21d88427b73e4fca055233
Reviewed-on: https://go-review.googlesource.com/15245
Reviewed-by: Minux Ma <minux@golang.org>
Reviewed-on: https://go-review.googlesource.com/16981
Run-TryBot: Austin Clements <austin@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
mwhudson added a commit to mwhudson/go that referenced this issue Jan 4, 2016
ppc64 codegen assumes that it is OK to stomp on r31 at any time, but it is not
excluded from the set of registers that regopt is allowed to use.

Fixes golang#12597

Change-Id: I29c7655e32abd22f3c21d88427b73e4fca055233
@golang golang locked and limited conversation to collaborators Nov 16, 2016
@rsc rsc unassigned minux Jun 23, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants