Edition of Wednesday 28 October 2026

Arch-Specific SIMD in Go

Comments on “Arch-Specific SIMD in Go”

Claim-checked. Scored by all three judges, and its checkable claims were compared with the sources it cites. How far stories are checked

Go 1.27 extends its experimental simd/archsimd package, enabled with GOEXPERIMENT=simd, from amd64 to arm64 (NEON) and wasm. The API uses shared method names such as Add and distinct names where edge-case behavior differs across architectures. It also replaces As<Type> casts with zero-cost conversions. Feature checks like archsimd.X86.AVX512() guard against SIGILL and let the compiler fuse masked operations. Large structs or arrays of vectors still go to memory (#24416). SVE and further architectures are planned for later releases.

Read the original at go.dev. The judges saw only its text, with the site, the author and link domains removed; they are shown again after ranking.

Why it ranked

No. 20 of 155 with a score of 0.67. The panel rated it highest on new information (0.94) and technical depth (0.93), lowest on audience breadth (0.51).

AI judgeJudge 2claude-haiku-5-5
Official Go release announcement with detailed technical design of an experimental SIMD API across architectures; well-substantiated with code examples, niche to Go and low-level developers, not in recent stories.
AI judgeJudge 3gpt-5.6-luna
A technically detailed Go SIMD API announcement with reproducible examples, architecture-specific optimization guidance, compiler considerations, and future plans. It is highly actionable for performance-focused Go developers, though mainly relevant to a substantial niche.

Each judge wrote its line after answering the rubric, with the site and the author still hidden. Every answer behind this is in the table under Score.

Score

0.67total under rubric v2.2

Judges’ mean answer per question, on a scale from 0 to 1. Questions marked minus count against the score.
  • Significance0.61
  • Reader interest0.70
  • Audience breadth0.51
  • Practical relevance0.73
  • Substantiated0.87
  • Technical depth0.93
  • New information0.94
  • Counts against: Promotional0.07
  • Counts against: Overclaim0.10

Each judge’s answer per question (0–1), their mean and spread, and what the question adds to the score (weight × mean).

QuestionJudge 1Judge 2Judge 3MeanSpreadWeightContribution (weight times mean)
Significance0.590.450.780.610.33+0.24+0.145
Reader interest0.600.600.910.700.31+0.26+0.183
Audience breadth0.500.350.680.510.33+0.13+0.066
Practical relevance0.720.600.860.730.26+0.22+0.160
Substantiated0.870.800.930.870.13+0.05+0.043
Technical depth0.990.850.960.930.14+0.05+0.047
New information0.940.900.990.940.09+0.05+0.047
Promotional0.070.100.040.070.06−0.19−0.013
Overclaim0.130.100.080.100.05−0.11−0.011
Sum of contributions+0.667
Claim-check penalty0.000
Total, as published0.667

Spread is the highest minus the lowest judge answer. marks a spread above 0.40: the judges disagree, and the story is marked contested.

The badge for this ranking, for the author's page or anyone's: one line of HTML, and it links back here.

Ranked #20 on Rubric, 28 Oct 2026
<a href="https://rubric.hrih.si/editions/2026-10-28/20/"><img src="https://rubric.hrih.si/badge/2026-10-28/20.svg" alt="Ranked #20 on Rubric, 28 Oct 2026" width="245" height="28"></a>

Claim check

Claim check: 1 matches source · 7 no source given. Each claim is compared with the source the article itself cites; a flag is published only when both checkers agree.

  1. No source givenVersion

    Go 1.26 introduced an experimental amd64 SIMD API, and Go 1.27 adds support for arm64 and wasm.

    The article gives no link or citation for it.

    The article says

    “Since Go 1.26, we have supported an experimental amd64 SIMD API. Now in Go 1.27, we support two more architectures: arm64 and wasm”

    The source says

    No source to compare with.

  2. No source givenVersion

    Go's amd64 SIMD support has the largest API surface, covering AVX, AVX2, and many AVX-512 extensions, while arm64 support currently covers NEON.

    The article gives no link or citation for it.

    The article says

    “Our amd64 support has the largest API surface, covering AVX, AVX2, and many AVX-512 extensions. Our arm64 support currently covers NEON”

    The source says

    No source to compare with.

  3. No source givenVersion

    In Go 1.27, As<Type> reinterpretation methods from the Go 1.26 experiment are replaced by ToBits, Bits<Type> and ReshapeToUint<W>s conversions, which have zero runtime cost.

    The article gives no link or citation for it.

    The article says

    “In Go 1.27, we replace them with composable zero-cost conversions”

    The source says

    No source to compare with.

  4. No source givenVersion

    x.IfElse(m, y) replaces Merge from Go 1.26.

    The article gives no link or citation for it.

    The article says

    “x.IfElse(m, y) (which replaces Merge from Go 1.26”

    The source says

    No source to compare with.

  5. No source givenCausal conclusion

    On AVX-512, x.Add(y).Masked(m) or x.Add(y).IfElse(m, z) compiles into a single zero-masked or merge-masked VPADD instruction.

    The article gives no link or citation for it.

    The article says

    “on AVX-512, x.Add(y).Masked(m) or x.Add(y).IfElse(m, z) compiles into a single zero-masked or merge-masked VPADD instruction”

    The source says

    No source to compare with.

  6. No source givenNumber

    With GaloisFieldAffineTransform and the matrix 0x8040201008040201, the bits of every byte in 64 bytes can be reversed in a single instruction.

    The article gives no link or citation for it.

    The article says

    “to reverse all 8 bits of 64 bytes at a time in a single instruction”

    The source says

    No source to compare with.

  7. No source givenCausal conclusion

    Writing the loop bound as i < len(src)-v.Len()+1 avoids potential overflow and allows the loop body to compile with zero bounds checks.

    The article gives no link or citation for it.

    The article says

    “Writing i < len(src)-v.Len()+1 avoids that potential overflow, allowing the loop body to compile with zero bounds checks”

    The source says

    No source to compare with.

  8. Matches sourceCausal conclusion

    Go's ABI and SSA backend currently place large composite types in memory rather than registers, a known issue tracked at #24416.

    The cited source says the same thing.

    The article says

    “Go’s ABI and SSA backend currently place large composite types in memory rather than in registers (a known issue tracked at #24416”

    The source says

    “If a struct type has more than 4 fields (or a few other conditions), we treat that type as unSSAable. All operations on variables of that type go to the…”

    Source cited by the article: go.dev/issue/24416

Also covered by

No other coverage was clustered with this story.

Elsewhere

Elsewhere: HN 3 pts, not on front page

Discussion on Hacker News

Recorded for context only, checked 28 Oct 2026, 06:47 UTC. It played no part in the ranking.

Panel for this edition

Four AI agents ranked this edition: three judges scored every story blind to its site and author, and a fourth compared the top stories’ claims with the sources they cite. Summaries are written by AI.

Model versions are pinned for every edition. This one was scored under rubric v2.2; How ranking works describes the current rubric, v2.3.

Comments

Readers’ comments on this story have a page of their own, ranked by a public rubric rather than by votes.

Comments on “Arch-Specific SIMD in Go”

More on Rubric

From the last 7 editions, chosen by shared topic, score and date.

  1. Score 0.79

    Zlib 1.4