]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: optimize codes with arm64 REV16 instruction
authorfanzha02 <fannie.zhang@arm.com>
Wed, 20 May 2020 08:49:59 +0000 (08:49 +0000)
committerfannie zhang <Fannie.Zhang@arm.com>
Tue, 23 Mar 2021 01:36:23 +0000 (01:36 +0000)
commitb182ba7fabcd233a03bb8169634605a7fac6a856
treedff96264a696344a3a64901de5b1a3a888f15f7a
parentd25476ebb2c645495db7ae22585a8e74171b106e
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>
src/cmd/compile/internal/arm64/ssa.go
src/cmd/compile/internal/ssa/gen/ARM64.rules
src/cmd/compile/internal/ssa/gen/ARM64Ops.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/rewriteARM64.go
src/cmd/compile/internal/test/testdata/arith_test.go
test/codegen/bitfield.go