aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ssa/gen/RISCV64.rules
diff options
context:
space:
mode:
authorJoel Sing <joel@sing.id.au>2020-03-02 04:25:54 +1100
committerJoel Sing <joel@sing.id.au>2020-03-03 12:04:46 +0000
commitc9ece81cc8c1a81ebdebcf6dfc13ebf5c4cbdb61 (patch)
treef613d6e93d85e55180e4cf129f13345beab48dfa /src/cmd/compile/internal/ssa/gen/RISCV64.rules
parentd28b8524a4d5d86d7b1e2df790abff6244de2a00 (diff)
downloadgo-c9ece81cc8c1a81ebdebcf6dfc13ebf5c4cbdb61.tar.gz
go-c9ece81cc8c1a81ebdebcf6dfc13ebf5c4cbdb61.zip
cmd/compile: absorb SNEZ into branch on riscv64
Change-Id: I55fd93843a7fb574a7dd66ebb87fdd96e944d555 Reviewed-on: https://go-review.googlesource.com/c/go/+/221682 Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/cmd/compile/internal/ssa/gen/RISCV64.rules')
-rw-r--r--src/cmd/compile/internal/ssa/gen/RISCV64.rules3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cmd/compile/internal/ssa/gen/RISCV64.rules b/src/cmd/compile/internal/ssa/gen/RISCV64.rules
index 9c1169dc67f..a19f8aa55bb 100644
--- a/src/cmd/compile/internal/ssa/gen/RISCV64.rules
+++ b/src/cmd/compile/internal/ssa/gen/RISCV64.rules
@@ -458,6 +458,9 @@
// Optimizations
+// Absorb SNEZ into branch.
+(BNE (SNEZ x) yes no) -> (BNE x yes no)
+
// Fold ADD+MOVDconst into ADDI where possible.
(ADD (MOVDconst [off]) ptr) && is32Bit(off) -> (ADDI [off] ptr)