docs: changelog for the completeness waves
Test / test (push) Failing after 3m6s

Assisted-by: GLM 5.3 Flash
This commit is contained in:
2026-09-21 02:04:44 +02:00
parent 29ac03468e
commit 9701812bee
+19
View File
@@ -35,6 +35,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
Also fixed on the way: arm64 `CASD`/`CASW` lacked an opcode bit, and
riscv64 `VSETVLI` with an immediate length now canonicalises to
`vsetivli` as the toolchain does.
- **The GOROOT instruction wave, part 2.** The encoder gains the
quad-register AVX-512 families (4FMAPS, 4FNMADD, 4VNNIW, VP4DPWSSD,
VP4DPWSSDS) with the register list riding the inverted V'VVVV field,
floating-point immediates on the SSE scalar moves and arithmetic
(the constant lands in a synthesised read-only pool, a positive zero
collapses to XORPS exactly as the toolchain does), accept-and-ignore
FUNCDATA and PCDATA, three-operand double shifts, static-symbol
operands for the legacy SSE moves, and the pooled 64-bit immediate
materialisation on riscv64. The parser carries bracketed register
ranges, index-only VSIB memory operands and bare trailing immediates;
macro substitution reaches parameters used with element suffixes
(`A.S4`), and `;` separates statements in plain files.
- **`gasm asm -GOOS`.** The go_asm.h generator type-checks per target
GOOS, so the darwin-only and windows-only runtime files assemble with
their own defines; the corpus audit derives the GOOS from the file
name. DATA initialisers accept `$symbol(SB)` values (an absolute
relocation at the data field, GOOBJ on all four architectures and ELF
on amd64, arm64, riscv64 and loong64), and U+2215 is accepted inside
symbol package paths.
- **The corpus audit measures honestly.** Files named for Go ports gasm
does not target (arm, 386, s390x, ...) are no longer attempted for the
four supported architectures (no supported build compiles them), and