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: internal compiler error: Invalid PPC64 rotate mask [1.16 backport] #45636

Closed
gopherbot opened this issue Apr 19, 2021 · 7 comments
Closed

Comments

@gopherbot
Copy link

@gopherbot gopherbot commented Apr 19, 2021

@pmur requested issue #45589 to be considered for backport to the next 1.16 minor release.

@gopherbot backport to 1.16 please

@pmur
Copy link
Contributor

@pmur pmur commented Apr 19, 2021

The original issue was opened against the 1.16 when the merging support was added. It appears to have prevented somebody from compiling non-intuitive code (That is, a 0-length shift feeding an andi).

Loading

@gopherbot
Copy link
Author

@gopherbot gopherbot commented Apr 19, 2021

Change https://golang.org/cl/311378 mentions this issue: [release-branch.go1.16] cmd/compile: fix ANDI/SRWI merge on ppc64

Loading

@toothrot
Copy link
Contributor

@toothrot toothrot commented Apr 22, 2021

Approved. This is a serious issue with no workaround.

Loading

@toothrot
Copy link
Contributor

@toothrot toothrot commented Apr 22, 2021

@pmur @ALTree Does this also impact 1.15? If so, we need to open a backport for 1.15 as well.

Loading

@pmur
Copy link
Contributor

@pmur pmur commented Apr 22, 2021

@toothrot Nope. 1.16 only.

Loading

@cagedmantis
Copy link
Contributor

@cagedmantis cagedmantis commented May 4, 2021

Thank you for this work @pmur

Loading

@gopherbot
Copy link
Author

@gopherbot gopherbot commented May 4, 2021

Closed by merging 7e70979 to release-branch.go1.16.

Loading

@gopherbot gopherbot closed this May 4, 2021
gopherbot pushed a commit that referenced this issue May 4, 2021
The shift amount should be masked to avoid rotation values
beyond the numer of bits. In this case, if the shift amount
is 0, it should rotate 0, not 32.

Fixes #45636

Change-Id: I1e764497a39d0ec128e29af42352b70c70b2ecc5
Reviewed-on: https://go-review.googlesource.com/c/go/+/310569
Run-TryBot: Paul Murphy <murp@ibm.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
Reviewed-by: Carlos Eduardo Seo <carlos.seo@linaro.org>
Trust: Carlos Eduardo Seo <carlos.seo@linaro.org>
(cherry picked from commit c8fb0ec)
Reviewed-on: https://go-review.googlesource.com/c/go/+/311378
Reviewed-by: Keith Randall <khr@golang.org>
Run-TryBot: Keith Randall <khr@golang.org>
Trust: Lynn Boger <laboger@linux.vnet.ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants