diff options
author | fanzha02 <fannie.zhang@arm.com> | 2020-05-20 08:49:59 +0000 |
---|---|---|
committer | fannie zhang <Fannie.Zhang@arm.com> | 2021-03-23 01:36:23 +0000 |
commit | b182ba7fabcd233a03bb8169634605a7fac6a856 (patch) | |
tree | dff96264a696344a3a64901de5b1a3a888f15f7a /src/cmd/compile/internal/arm64 | |
parent | d25476ebb2c645495db7ae22585a8e74171b106e (diff) | |
download | go-b182ba7fabcd233a03bb8169634605a7fac6a856.tar.gz go-b182ba7fabcd233a03bb8169634605a7fac6a856.zip |
cmd/compile: optimize codes with arm64 REV16 instruction
Optimize some patterns into rev16/rev16w instruction.
Pattern1:
(c & 0xff00ff00)>>8 | (c & 0x00ff00ff)<<8
To:
rev16w c
Pattern2:
(c & 0xff00ff00ff00ff00)>>8 | (c & 0x00ff00ff00ff00ff)<<8
To:
rev16 c
This patch is a copy of CL 239637, contributed by Alice Xu(dianhong.xu@arm.com).
Change-Id: I96936c1db87618bc1903c04221c7e9b2779455b3
Reviewed-on: https://go-review.googlesource.com/c/go/+/268377
Trust: fannie zhang <Fannie.Zhang@arm.com>
Run-TryBot: fannie zhang <Fannie.Zhang@arm.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/cmd/compile/internal/arm64')
-rw-r--r-- | src/cmd/compile/internal/arm64/ssa.go | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/cmd/compile/internal/arm64/ssa.go b/src/cmd/compile/internal/arm64/ssa.go index afd0d66d72..0c997bc4b3 100644 --- a/src/cmd/compile/internal/arm64/ssa.go +++ b/src/cmd/compile/internal/arm64/ssa.go @@ -915,6 +915,7 @@ func ssaGenValue(s *ssagen.State, v *ssa.Value) { ssa.OpARM64FCVTDS, ssa.OpARM64REV, ssa.OpARM64REVW, + ssa.OpARM64REV16, ssa.OpARM64REV16W, ssa.OpARM64RBIT, ssa.OpARM64RBITW, |