]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: add additional arm64 bit field rules
authorkhr@golang.org <khr@golang.org>
Sun, 4 Aug 2024 12:41:38 +0000 (05:41 -0700)
committerKeith Randall <khr@golang.org>
Mon, 12 Aug 2024 21:03:55 +0000 (21:03 +0000)
commit72735094660a475a69050b7368c56b25346f5406
tree7a7a138e405d242003321cc34154a567a4c78e2c
parent8aa2eed8fb90303c0876e51e097105eca7299734
cmd/compile: add additional arm64 bit field rules

Get rid of TODO in prove pass.
We currently avoid marking shifts of constants as bounded, where
bounded means we don't have to worry about <0 or >=bitwidth shifts.
We do this because it causes different rule applications during lowering
which cause some codegen tests to fail.

Add some new rules which ensure that we get the right final instruction
sequence regardless of the ordering. Then we can remove this special case.

Change-Id: I4e962d4f09992b42ab47e123de5ded3b8b8fb205
Reviewed-on: https://go-review.googlesource.com/c/go/+/602935
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
src/cmd/compile/internal/ssa/_gen/ARM64.rules
src/cmd/compile/internal/ssa/prove.go
src/cmd/compile/internal/ssa/rewriteARM64.go
test/codegen/comparisons.go