Skip to content

[pull] master from golang:master - #195

Merged
pull[bot] merged 1 commit into
trailofbits:masterfrom
golang:master
Sep 2, 2026
Merged

[pull] master from golang:master#195
pull[bot] merged 1 commit into
trailofbits:masterfrom
golang:master

Conversation

@pull

@pull pull Bot commented Sep 2, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

…n peepholes

Add IfElse and Masked to the scalable SVE vector types. IfElse lowers to
ZSEL; Masked is a select against a zero vector.

The SVE loader now groups an operation's predicated and unpredicated
encodings into one definition: the unpredicated encoding (or, for a
predicated-only operation, the merging one) carries the operation, and
the sibling encodings' governing predicates become inVariants, implying
predicated machine ops reached by peephole rather than by an API of
their own. An encoding is classified as predicated from the spec's
explanation text; see groupPredicationForms in sve/load.go.

A select over an unpredicated operation folds into the operation's
merging-predicated form:

	(ZSELB (ZADDB x y) z mask) => (ZADDMergingPrefixedB z x y mask)

with cheaper MOVPRFX-free forms emitted first for a select whose "else"
operand is already one of the sources; see sveMergingPeephole in
gen_simdrules.go for why the general form requires commutativity.

Add showcases only the commutative rules; the machinery also covers
non-commutative and predicated-only operations, which arrive in later
CLs along the chain.

For #79781.

Change-Id: I367da550aabee80119c3baa22b0c63381921df8d
Reviewed-on: https://go-review.googlesource.com/c/go/+/818460
Reviewed-by: Junyang Shao <shaojunyang@google.com>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
@pull pull Bot locked and limited conversation to collaborators Sep 2, 2026
@pull pull Bot added the ⤵️ pull label Sep 2, 2026
@pull
pull Bot merged commit 16d73bb into trailofbits:master Sep 2, 2026
9 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant