diff options
| author | Jorropo <jorropo.pgm@gmail.com> | 2026-03-29 05:02:45 +0200 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2026-03-31 10:58:45 -0700 |
| commit | de7f006df2a70df34d6bd814489ba675153e829e (patch) | |
| tree | 222dc36a52bc03b3c8569d31554c45ad931d86ea /src/cmd/compile/internal/ssa/_gen/generic.rules | |
| parent | 97259c5d6b5928b4519a227b2e5a540259c49bbd (diff) | |
| download | go-de7f006df2a70df34d6bd814489ba675153e829e.tar.xz | |
cmd/compile: convert some condmoves in OR
Similar to CL 685676 but for OR.
Change-Id: I0ddfd457ed9e8888462306138a251ac48ad42084
Reviewed-on: https://go-review.googlesource.com/c/go/+/760920
Auto-Submit: Jorropo <jorropo.pgm@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
Diffstat (limited to 'src/cmd/compile/internal/ssa/_gen/generic.rules')
| -rw-r--r-- | src/cmd/compile/internal/ssa/_gen/generic.rules | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cmd/compile/internal/ssa/_gen/generic.rules b/src/cmd/compile/internal/ssa/_gen/generic.rules index d18047810d..fe34b53be2 100644 --- a/src/cmd/compile/internal/ssa/_gen/generic.rules +++ b/src/cmd/compile/internal/ssa/_gen/generic.rules @@ -2312,6 +2312,10 @@ (CondSelect (Rsh(64|32|16|8)x64 x (Const64 [1])) x bool) => (Rsh(64|32|16|8)x8 [true] x (CvtBoolToUint8 <types.Types[types.TUINT8]> bool)) (CondSelect (Rsh(64|32|16|8)Ux64 x (Const64 [1])) x bool) => (Rsh(64|32|16|8)Ux8 [true] x (CvtBoolToUint8 <types.Types[types.TUINT8]> bool)) +// if b { x |= 1 } => x |= b +(CondSelect (Or8 <t> x (Const8 [1])) x bool) => (Or8 x (CvtBoolToUint8 <t> bool)) +(CondSelect (Or(64|32|16) <t> x (Const(64|32|16) [1])) x bool) => (Or(64|32|16) x (ZeroExt8to(64|32|16) <t> (CvtBoolToUint8 <types.Types[types.TUINT8]> bool))) + // bool(int(x)) => x (Neq8 (CvtBoolToUint8 x) (Const8 [0])) => x (Neq8 (CvtBoolToUint8 x) (Const8 [1])) => (Not x) |
