cmd/compile: enable CondSelect math for pow2 Or/Xor on amd64#80248
cmd/compile: enable CondSelect math for pow2 Or/Xor on amd64#80248elee1766 wants to merge 3 commits into
Conversation
|
This PR (HEAD: 46c1db3) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/796641. Important tips:
|
|
Message from Gopher Robot: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/796641. |
|
Message from Gopher Robot: Patch Set 1: Congratulations on opening your first change. Thank you for your contribution! Next steps: Most changes in the Go project go through a few rounds of revision. This can be During May-July and Nov-Jan the Go project is in a code freeze, during which Please don’t reply on this GitHub thread. Visit golang.org/cl/796641. |
Jorropo
left a comment
There was a problem hiding this comment.
Usually I would review on gerrit but it's 429ing me today.
f8a3691 to
6af2eeb
Compare
|
changed, and removed that really long commit details |
|
This PR (HEAD: 6af2eeb) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/796641. Important tips:
|
|
Message from Jorropo: Patch Set 2: Commit-Queue+1 (3 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/796641. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 2: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2026-07-03T00:29:29Z","revision":"91c2e05634266d1c9a4ed21243094d6188cfa7d2"} Please don’t reply on this GitHub thread. Visit golang.org/cl/796641. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 2: LUCI-TryBot-Result-1 Copied votes on follow-up patch sets have been updated:
Please don’t reply on this GitHub thread. Visit golang.org/cl/796641. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 3: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2026-07-03T00:32:01Z","revision":"c15119c768985c6c16f786552a75a73d4aa554ba"} Please don’t reply on this GitHub thread. Visit golang.org/cl/796641. |
|
Message from Jorropo: Patch Set 3: -Commit-Queue (Performed by <GERRIT_ACCOUNT_60063> on behalf of <GERRIT_ACCOUNT_55763>) Please don’t reply on this GitHub thread. Visit golang.org/cl/796641. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 3: This CL has failed the run. Reason: Tryjob golang/try/gotip-windows-386 has failed with summary (view all results):
To reproduce, try Additional links for debugging: Please don’t reply on this GitHub thread. Visit golang.org/cl/796641. |
|
Message from golang-scoped@luci-project-accounts.iam.gserviceaccount.com: Patch Set 3: LUCI-TryBot-Result-1 Please don’t reply on this GitHub thread. Visit golang.org/cl/796641. |
|
Message from Jorropo: Patch Set 3: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/796641. |
6af2eeb to
666fa2c
Compare
|
This PR (HEAD: 666fa2c) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/796641. Important tips:
|
666fa2c to
4a9abfd
Compare
|
This PR (HEAD: 4a9abfd) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/796641. Important tips:
|
e1d5b78 to
7fdbc67
Compare
7fdbc67 to
77e0bde
Compare
|
This PR (HEAD: 77e0bde) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/796641. Important tips:
|
|
This PR (HEAD: b67adbf) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/796641. Important tips:
|
|
This PR (HEAD: fa39e61) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/796641. Important tips:
|
changes rewriteCondSelectIntoMath to also use inline register shifts
for amd64 for power of 2 cases, as opposed to the cmov based approach.
this is faster for the case of accumulating independent conditions
into a bitset, and slower for dependent conditions.
analysis of existing go code shows a 10:1+ ratio of independent to
dependent conditions. the independent condition is also found more
in hot paths where the optimization would help, for instance packing
headers, as opposed to the dependent pattern which is used far more
for reading flags for a first-time setup step.
addresses #80202 for the amd64 case