From ee58eccc565c0871d3f16fd702fd8649a3fb61ea Mon Sep 17 00:00:00 2001 From: Keith Randall Date: Sun, 4 Mar 2018 09:47:47 -0800 Subject: internal/bytealg: move short string Index implementations into bytealg Also move the arm64 CountByte implementation while we're here. Fixes #19792 Change-Id: I1e0fdf1e03e3135af84150a2703b58dad1b0d57e Reviewed-on: https://go-review.googlesource.com/98518 Run-TryBot: Keith Randall TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- src/internal/bytealg/bytealg.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/internal/bytealg/bytealg.go (limited to 'src/internal/bytealg/bytealg.go') diff --git a/src/internal/bytealg/bytealg.go b/src/internal/bytealg/bytealg.go new file mode 100644 index 0000000000..1ab7c30f4e --- /dev/null +++ b/src/internal/bytealg/bytealg.go @@ -0,0 +1,22 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package bytealg + +import ( + "internal/cpu" + "unsafe" +) + +// Offsets into internal/cpu records for use in assembly. +const ( + x86_HasSSE2 = unsafe.Offsetof(cpu.X86.HasSSE2) + x86_HasSSE42 = unsafe.Offsetof(cpu.X86.HasSSE42) + x86_HasAVX2 = unsafe.Offsetof(cpu.X86.HasAVX2) + x86_HasPOPCNT = unsafe.Offsetof(cpu.X86.HasPOPCNT) + s390x_HasVX = unsafe.Offsetof(cpu.S390X.HasVX) +) + +// MaxLen is the maximum length of the string to be searched for (argument b) in Index. +var MaxLen int -- cgit v1.3-5-g9baa