spec: split shift examples into groups for 32- and 64-bit ints
spec: split shift examples into groups for 32- and 64-bit ints

In the current (pre-CL) version of the spec, the 2nd last shift
example appears to be using the array declared in the last example.
On a 32-bit platform, that array would have length 0, which would
lead to a panic in the 2nd last example. Also, if this code were
inside a function, it wouldn't compile (array declared after use).

Use an explicitly declared array for that specific shift example.
Also, split out all cases that produce different results for 32-
vs 64-bit ints.

Fixes #41835.

Change-Id: Ie45114224509e4999197226f91f7f6f934449abb
Reviewed-on: https://go-review.googlesource.com/c/go/+/260398
Trust: Robert Griesemer <a6752097faebf1f02d80107d77a9be009089afe3@golang.org>
Reviewed-by: Russ Cox <5ad239cb8a44f659eaaee0aa1ea5b94947abe557@golang.org>
Reviewed-by: Ian Lance Taylor <87e9c6d529889242b7e184afb632328636553ab4@golang.org>

CAFxX/go,CAFxX/go,nawawi/go,CAFxX/go,cloudflare/go,golang/go,golang/go,CAFxX/go,CAFxX/go,cloudflare/go,nawawi/go,CAFxX/go,golang/go,golang/go,cloudflare/go,nawawi/go,golang/go,CAFxX/go,golang/go,nawawi/go,CAFxX/go,cloudflare/go,cloudflare/go,nawawi/go,nawawi/go,nawawi/go,golang/go,cloudflare/go,golang/go,nawawi/go,cloudflare/go,cloudflare/go