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: incorrect use of CMN on arm64 [1.17 backport] #50867

Closed
gopherbot opened this issue Jan 27, 2022 · 3 comments
Closed

cmd/compile: incorrect use of CMN on arm64 [1.17 backport] #50867

gopherbot opened this issue Jan 27, 2022 · 3 comments
Labels
CherryPickApproved Used during the release process for point releases FrozenDueToAge
Milestone

Comments

@gopherbot
Copy link
Contributor

@dr2chase requested issue #50854 to be considered for backport to the next 1.17 minor release.

@gopherbot, please backport to Go 1.16 and Go 1.17. This is an arm and arm64 compiler bug that generates incorrect code with the usual possibility of data corruption. The "fix" involves disabling an (incorrect) optimization in the "rules" (pattern-transmformations), so it is believed low risk.

@gopherbot gopherbot added the CherryPickCandidate Used during the release process for point releases label Jan 27, 2022
@gopherbot gopherbot added this to the Go1.17.7 milestone Jan 27, 2022
@gopherbot
Copy link
Contributor Author

Change https://golang.org/cl/381474 mentions this issue: [release-branch.go1.17] cmd/compile: remove incorrect arm,arm64 CMP->CMN transformations

@toothrot toothrot added the CherryPickApproved Used during the release process for point releases label Feb 3, 2022
@toothrot
Copy link
Contributor

toothrot commented Feb 3, 2022

Approved. This is a serious issue with no workaround.

@gopherbot gopherbot removed the CherryPickCandidate Used during the release process for point releases label Feb 3, 2022
@gopherbot
Copy link
Contributor Author

Closed by merging acb1ce5 to release-branch.go1.17.

gopherbot pushed a commit that referenced this issue Feb 7, 2022
…CMN transformations

These can go wrong when one of the operands is the minimum integer value.

Fixes #50867.

Change-Id: I238fe284f60c7ee5aeb9dc9a18e8b1578cdb77d0
Reviewed-on: https://go-review.googlesource.com/c/go/+/381318
Reviewed-by: Keith Randall <[email protected]>
Reviewed-by: Cherry Mui <[email protected]>
Trust: David Chase <[email protected]>
Run-TryBot: David Chase <[email protected]>
TryBot-Result: Gopher Robot <[email protected]>
(cherry picked from commit b7b44b3)
Reviewed-on: https://go-review.googlesource.com/c/go/+/381474
Run-TryBot: Cherry Mui <[email protected]>
@golang golang locked and limited conversation to collaborators Feb 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
CherryPickApproved Used during the release process for point releases FrozenDueToAge
Projects
None yet
Development

No branches or pull requests

2 participants