$ the-wire · showcase
SVE mask predicates land in archsimd; crypto audits ssh for Unicode string calls
By RepoJournal · Filed · About Go · Composed from the cited sources · methodology
Go's experimental SIMD package gains the full set of SVE mask queries while golang/crypto adds a test that keeps Unicode-aware string functions out of its byte-oriented SSH parsers.
cmd/compile, simd/archsimd: add SVE mask Any golang/go
m.Any() compiles to the same PTEST as None but tests NE instead, so a loop condition such as for x.Greater(y).Any() branches straight on the flags rather than materializing a boolean. It is one of four predicate queries added together: All, None, Next, and Any.
cmd/compile, simd/archsimd: add SVE mask All golang/go
m.All() reports whether every lane is active via a flag-setting BICS of all-true AND NOT m followed by a Z test; because the all-true predicate is sized at the mask's element size, bits between the lanes of a wider mask are ignored. m.None() uses PTEST under an all-true predicate, and m.Next() advances to the lane after the last active one, or none if that lane is the final lane.
simd/archsimd: remove SVE mask loads and stores golang/go
LoadMaskNs and MaskNs.Store are gone; a mask's bits are read directly from memory as a uint64 with one bit per vector byte, bit 0 first. The store now zeroes all 8 bytes before PSTR, which writes only VL/8 and previously left the bits above the vector length undefined, and the struct field moves from uint32 to a wider width.
ssh: check that no Unicode-aware string function is used golang/crypto
The SSH protocol and its file formats are byte oriented, and the commit notes that folding case or trimming space by Unicode rules can make a parser accept an entry its peers reject, which is how the known_hosts parsers disagreed with each other and with OpenSSH. A new test walks the ssh source and the packages beneath it and rejects calls to strings or bytes functions that behave that way.
all: replace http urls with https golang/wiki
The wiki long tail is housekeeping: http links replaced with https, image links moved to raw.githubusercontent.com, past calls and conferences filed under archives, and one project link corrected after a rename.