Commit 53bbddd5 authored by Matthew Dempsky's avatar Matthew Dempsky

cmd/compile: intrinsify runtime/internal/sys.Ctz{32,64} on ppc64

These functions are identical to math/bits.TrailingZeros{32,64}, which
are already intrinsified on ppc64.

Change-Id: If7ee57e7afe53154874f4b66bacdb6237806128a
Reviewed-on: https://go-review.googlesource.com/70350
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
parent 56dec8dd
...@@ -2652,12 +2652,12 @@ func init() { ...@@ -2652,12 +2652,12 @@ func init() {
func(s *state, n *Node, args []*ssa.Value) *ssa.Value { func(s *state, n *Node, args []*ssa.Value) *ssa.Value {
return s.newValue1(ssa.OpCtz32, types.Types[TINT], args[0]) return s.newValue1(ssa.OpCtz32, types.Types[TINT], args[0])
}, },
sys.AMD64, sys.ARM64, sys.ARM, sys.S390X, sys.MIPS) sys.AMD64, sys.ARM64, sys.ARM, sys.S390X, sys.MIPS, sys.PPC64)
addF("runtime/internal/sys", "Ctz64", addF("runtime/internal/sys", "Ctz64",
func(s *state, n *Node, args []*ssa.Value) *ssa.Value { func(s *state, n *Node, args []*ssa.Value) *ssa.Value {
return s.newValue1(ssa.OpCtz64, types.Types[TINT], args[0]) return s.newValue1(ssa.OpCtz64, types.Types[TINT], args[0])
}, },
sys.AMD64, sys.ARM64, sys.ARM, sys.S390X, sys.MIPS) sys.AMD64, sys.ARM64, sys.ARM, sys.S390X, sys.MIPS, sys.PPC64)
addF("runtime/internal/sys", "Bswap32", addF("runtime/internal/sys", "Bswap32",
func(s *state, n *Node, args []*ssa.Value) *ssa.Value { func(s *state, n *Node, args []*ssa.Value) *ssa.Value {
return s.newValue1(ssa.OpBswap32, types.Types[TUINT32], args[0]) return s.newValue1(ssa.OpBswap32, types.Types[TUINT32], args[0])
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment