runtime: improve IndexByte for ppc64x
runtime: improve IndexByte for ppc64x

This change adds a better implementation of IndexByte for ppc64x.

Improvement for bytes·IndexByte:

benchmark                             old ns/op     new ns/op     delta
BenchmarkIndexByte/10-16              12.5          8.48          -32.16%
BenchmarkIndexByte/32-16              34.4          9.85          -71.37%
BenchmarkIndexByte/4K-16              3089          217           -92.98%
BenchmarkIndexByte/4M-16              3154810       207051        -93.44%
BenchmarkIndexByte/64M-16             50564811      5579093       -88.97%

benchmark                             old MB/s     new MB/s     speedup
BenchmarkIndexByte/10-16              800.41       1179.64      1.47x
BenchmarkIndexByte/32-16              930.60       3249.10      3.49x
BenchmarkIndexByte/4K-16              1325.71      18832.53     14.21x
BenchmarkIndexByte/4M-16              1329.49      20257.29     15.24x
BenchmarkIndexByte/64M-16             1327.19      12028.63     9.06x

Improvement for strings·IndexByte:

benchmark                             old ns/op     new ns/op     delta
BenchmarkIndexByte-16                 25.9          7.69          -70.31%

Fixes #19030

Change-Id: Ifb82bbb3d643ec44b98eaa2d08a07f47e5c2fd11
Reviewed-on: https://go-review.googlesource.com/37670
Run-TryBot: Lynn Boger <b27445fe6fb259c37b8e0a4ce56e22e2413754bf@linux.vnet.ibm.com>
TryBot-Result: Gobot Gobot <66cb808b70d30c07676d5e946fee83fd561249e5@golang.org>
Reviewed-by: Lynn Boger <b27445fe6fb259c37b8e0a4ce56e22e2413754bf@linux.vnet.ibm.com>

cloudflare/go,ImJasonH/go,codestation/go,codestation/go,golang/go,golang/go,vsekhar/elastic-go,ImJasonH/go,ImJasonH/go,cloudflare/go,codestation/go,nawawi/go,josharian/go,akutz/go,cloudflare/go,cloudflare/go,polyverse-security/go,codestation/go,linux-on-ibm-z/go,polyverse-security/go,linux-on-ibm-z/go,Cofyc/go,cloudflare/go,ImJasonH/go,nawawi/go,Cofyc/go,Cofyc/go,linux-on-ibm-z/go,ImJasonH/go,ImJasonH/go,CAFxX/go,codestation/go,CAFxX/go,akutz/go,golang/go,josharian/go,linux-on-ibm-z/go,Cofyc/go,nawawi/go,codestation/go,josharian/go,linux-on-ibm-z/go,derekmarcotte/go,polyverse-security/go,akutz/go,golang/go,CAFxX/go,polyverse-security/go,polyverse-security/go,derekmarcotte/go,vsekhar/elastic-go,codestation/go,Cofyc/go,akutz/go,nawawi/go,derekmarcotte/go,josharian/go,cloudflare/go,vsekhar/elastic-go,josharian/go,vsekhar/elastic-go,golang/go,linux-on-ibm-z/go,akutz/go,akutz/go,vsekhar/elastic-go,Cofyc/go,vsekhar/elastic-go,christopher-henderson/Go,akutz/go,Cofyc/go,ImJasonH/go,josharian/go,ImJasonH/go,golang/go,nawawi/go,golang/go,polyverse-security/go,derekmarcotte/go,nawawi/go,polyverse-security/go,codestation/go,vsekhar/elastic-go,CAFxX/go,linux-on-ibm-z/go,cloudflare/go,cloudflare/go,akutz/go,CAFxX/go,nawawi/go,derekmarcotte/go,josharian/go,linux-on-ibm-z/go,polyverse-security/go,CAFxX/go,josharian/go,vsekhar/elastic-go,nawawi/go,CAFxX/go,CAFxX/go,derekmarcotte/go,golang/go,Cofyc/go,derekmarcotte/go,derekmarcotte/go