SIGN IN SIGN UP

[dev.simd] simd: improve arm64 and amd64 rotateAll

replace difficult-to-use AVX512-only rotateAll
with an emulation from shifts.  We can revisit this
in the future or else just peephole the shifts
into rotates, later.

this adds plain emulation on arm64 and also for
16-bit rotation on amd64

includes tests, needs additional tests to exercise all
the weird paths through the emulation because it recognizes
constants etc.

the inlining threshold for simd-mentioning closures
was bumped up even higher because the rotate emulation
has a higher inlining cost, and the test that this mattered
for was taken from actual crypto code.

Change-Id: I26c92db2551d2f44a8cd03ac21571491fea436d6
Reviewed-on: https://go-review.googlesource.com/c/go/+/781262
Reviewed-by: Cherry Mui <cherryyz@google.com>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
D
David Chase committed
d7b3da6e25123903177f9aabc805f6ef2244d436
Parent: 555dd46