aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ssa/rewriteRISCV64.go
diff options
context:
space:
mode:
authorJoel Sing <joel@sing.id.au>2020-03-16 03:29:19 +1100
committerJoel Sing <joel@sing.id.au>2020-03-17 01:24:30 +0000
commit0e44c692c2b39a071257e8be24fa971e6dc05f10 (patch)
tree1e6a75351ebc424074cf9980726a395514636d42 /src/cmd/compile/internal/ssa/rewriteRISCV64.go
parent2f54081adfc967836842c96619d241378400ece6 (diff)
downloadgo-0e44c692c2b39a071257e8be24fa971e6dc05f10.tar.gz
go-0e44c692c2b39a071257e8be24fa971e6dc05f10.zip
cmd/compile: use NOT pseudo-instruction for riscv64 Slicemask
Change-Id: Idefb6669d54929065f57e3bd767c91451dc3a375 Reviewed-on: https://go-review.googlesource.com/c/go/+/223562 Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/ssa/rewriteRISCV64.go')
-rw-r--r--src/cmd/compile/internal/ssa/rewriteRISCV64.go5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/cmd/compile/internal/ssa/rewriteRISCV64.go b/src/cmd/compile/internal/ssa/rewriteRISCV64.go
index 692cd92cc8..a7b0ba05b9 100644
--- a/src/cmd/compile/internal/ssa/rewriteRISCV64.go
+++ b/src/cmd/compile/internal/ssa/rewriteRISCV64.go
@@ -4309,12 +4309,11 @@ func rewriteValueRISCV64_OpSlicemask(v *Value) bool {
v_0 := v.Args[0]
b := v.Block
// match: (Slicemask <t> x)
- // result: (XORI [-1] (SRAI <t> [63] (ADDI <t> [-1] x)))
+ // result: (NOT (SRAI <t> [63] (ADDI <t> [-1] x)))
for {
t := v.Type
x := v_0
- v.reset(OpRISCV64XORI)
- v.AuxInt = -1
+ v.reset(OpRISCV64NOT)
v0 := b.NewValue0(v.Pos, OpRISCV64SRAI, t)
v0.AuxInt = 63
v1 := b.NewValue0(v.Pos, OpRISCV64ADDI, t)