petrbalvin
f0b08ccea0
feat(asm): encode the amd64 x87 family
...
The x87 stack controls, the D8/DC arithmetic pair, the conditional moves,
the register compares, FADDDP, the memory loads and the FXSAVE pair, each
pinned byte for byte against go tool asm through every corpus line the
toolchain's own amd64enc.s carries for the family (78 lines).
Assisted-by: GLM 5.3 Flash
2026-10-06 23:59:47 +02:00
petrbalvin
1040739fbb
fix(asm): validate the loong64 ll/sc offset span like the toolchain
...
Assisted-by: GLM 5.3 Flash
2026-10-06 23:59:27 +02:00
petrbalvin
6cc6165c2b
build(justfile): cap the fuzz recipe's workers
...
Assisted-by: GLM 5.3 Flash
2026-10-06 21:13:31 +02:00
petrbalvin
0768b4dc84
fix(cmd): locate GOROOT when the build is trimmed
...
Assisted-by: GLM 5.3 Flash
2026-10-06 20:24:39 +02:00
petrbalvin
ae1baa0e61
ci: run the affordable gate set on push and publish at the tag
...
Test / test (push) Successful in 1m45s
Assisted-by: DeepSeek V4.1 Flash
2026-10-04 21:17:40 +02:00
petrbalvin
5a8e9acbf3
feat(arch): add the extended-instruction layer with SVE arithmetic
Test / test (push) Successful in 3m38s
2026-10-02 20:39:33 +02:00
petrbalvin
2747fce7d3
feat(asm): encode the arm64 system registers and structure loads
2026-10-02 20:39:26 +02:00
petrbalvin
e02918c17b
fix(ci): keep the push suite inside the runner's memory and time budget
...
Test / test (push) Successful in 2m55s
Assisted-by: GLM 5.3 Flash
2026-10-02 17:20:31 +02:00
petrbalvin
02a6359c1f
ci: shrink the push pipeline to the affordable gate set
...
Test / test (push) Failing after 5m26s
Assisted-by: GLM 5.3 Flash
2026-10-02 16:47:52 +02:00
petrbalvin
b4c1e133c0
ci: keep the GOOBJ link parity gate off the push pipeline
...
Test / test (push) Failing after 12m18s
Assisted-by: GLM 5.3 Flash
2026-10-02 16:15:02 +02:00
petrbalvin
1107928870
build(justfile): run the test recipes under the memory fence
...
Assisted-by: GLM 5.3 Flash
2026-10-02 16:15:02 +02:00
petrbalvin
bc4ac93fd9
style(asm): reindent the evex comment gofmt asks for
...
Test / test (push) Failing after 21m29s
Assisted-by: GLM 5.3
2026-10-02 00:41:46 +02:00
petrbalvin
c1bca7ce7e
docs: record the development deltas in the changelog
...
Assisted-by: GLM 5.3
2026-10-02 00:40:54 +02:00
petrbalvin
fefb76beb9
docs(asm): correct the reference against the assemblers' behaviour
...
Assisted-by: GLM 5.3
2026-10-02 00:40:54 +02:00
petrbalvin
42bc1669d7
feat(lsp): document directives on hover and widen completion
...
Assisted-by: GLM 5.3
2026-10-02 00:40:54 +02:00
petrbalvin
69dcbec8ef
feat(lint): eleven new rules over directives, data and addressing
...
Assisted-by: GLM 5.3
2026-10-02 00:40:54 +02:00
petrbalvin
f405cea5bc
fix(cmd): stop the coverage run on a stray in-place trap
...
Assisted-by: GLM 5.3
2026-10-02 00:40:54 +02:00
petrbalvin
f57377abb9
fix(debug): handle mapping edges, stray traps and dying debuggees
...
Assisted-by: GLM 5.3
2026-10-02 00:40:54 +02:00
petrbalvin
dd1782c538
test(verify): gate GOOBJ link parity with cmd/link
...
Assisted-by: GLM 5.3
2026-10-02 00:40:54 +02:00
petrbalvin
17cc49fee4
fix(asm): emit NOPTR data as its own symbol kind
...
Assisted-by: GLM 5.3
2026-10-02 00:40:43 +02:00
petrbalvin
bafb2fd130
feat(asm): encode the amd64 and loong64 tails of the corpus testdata
...
Assisted-by: GLM 5.3
2026-10-02 00:40:43 +02:00
petrbalvin
2f679326c2
style(testdata): canonicalise forms_amd64.s
...
Assisted-by: GLM 5.3
2026-10-02 00:40:20 +02:00
petrbalvin
96f2dd65b4
test(lexer): fuzz the token stream invariants
...
Assisted-by: GLM 5.3
2026-10-02 00:40:20 +02:00
petrbalvin
ca887d3927
fix(parser): bound folding depth and macro expansion work
...
Assisted-by: GLM 5.3
2026-10-02 00:40:20 +02:00
petrbalvin
6570709226
fix(parser): peel stacked labels the way the formatter renders them
...
Assisted-by: GLM 5.3
2026-10-02 00:40:20 +02:00
petrbalvin
9a5217d9c1
fix(format): keep every token of a line in the canonical output
...
Assisted-by: GLM 5.3
2026-10-02 00:40:20 +02:00
petrbalvin
4d01bb3ecf
build: rename the module to sourcedock.dev/petrbalvin/gasm-sdk
Test / test (push) Successful in 4m18s
2026-09-26 11:08:43 +02:00
petrbalvin
332c63e440
ci: compile-gate FreeBSD in the test pipeline
...
Test / test (push) Successful in 4m10s
Assisted-by: GLM 5.3 Flash
2026-09-25 21:46:49 +02:00
petrbalvin
b306c210c6
feat(debug): port the debugger to FreeBSD
...
Assisted-by: GLM 5.3 Flash
2026-09-25 21:46:40 +02:00
petrbalvin
b9015e1c2e
fix(verify): make the executable mapping build on FreeBSD
...
Assisted-by: GLM 5.3 Flash
2026-09-25 21:46:31 +02:00
petrbalvin
26c5008136
fix(cmd): honour //go:build in the corpus audit
...
Test / test (push) Successful in 2m32s
Assisted-by: GLM 5.3 Flash
2026-09-23 21:03:16 +02:00
petrbalvin
74d6b90d69
fix(asm): read the arm64 move-wide immediate as an unsigned pattern
...
Assisted-by: GLM 5.3 Flash
2026-09-23 21:03:03 +02:00
petrbalvin
7b11c62f53
fix(asm): resolve negative numeric PC-relative jumps
...
Assisted-by: GLM 5.3 Flash
2026-09-23 21:02:50 +02:00
petrbalvin
8eed54b3da
feat(lsp): quick fixes for the textflag include and the argument area
...
Test / test (push) Successful in 2m56s
Assisted-by: GLM 5.3 Flash
2026-09-23 20:23:35 +02:00
petrbalvin
4be16dcdf5
feat(lsp): resolve symbols across workspace files
...
Assisted-by: GLM 5.3 Flash
2026-09-23 20:21:58 +02:00
petrbalvin
ded9cabdf4
fix(lsp): apply each rename edit to its own document
...
Assisted-by: GLM 5.3 Flash
2026-09-23 20:19:21 +02:00
petrbalvin
cf6bc6987e
fix(ci): pass the upload file to curl, not its interpolation
Test / test (push) Successful in 2m26s
Release / gates (push) Successful in 2m25s
Release / build (amd64, linux) (push) Successful in 1m15s
Release / build (arm64, linux) (push) Successful in 1m16s
Release / build (loong64, linux) (push) Successful in 1m16s
Release / build (riscv64, linux) (push) Successful in 1m16s
Release / release (push) Successful in 34s
2026-09-22 01:31:49 +02:00
petrbalvin
ff7b1452b1
docs: name 0.35.0 as the supported release
Test / test (push) Successful in 2m33s
Release / gates (push) Successful in 2m29s
Release / build (amd64, linux) (push) Successful in 1m18s
Release / build (arm64, linux) (push) Successful in 1m20s
Release / build (loong64, linux) (push) Successful in 1m17s
Release / build (riscv64, linux) (push) Successful in 1m26s
Release / release (push) Failing after 35s
2026-09-22 00:52:56 +02:00
petrbalvin
517c1cea25
chore: prepare release v0.35.0
Test / test (push) Successful in 2m33s
Release / gates (push) Failing after 46s
Release / build (amd64, linux) (push) Skipped
Release / build (arm64, linux) (push) Skipped
Release / build (loong64, linux) (push) Skipped
Release / build (riscv64, linux) (push) Skipped
Release / release (push) Skipped
2026-09-22 00:44:10 +02:00
petrbalvin
a3e3010e0f
fix(cmd): resolve the runtime header test GOROOT from the go command
Test / test (push) Successful in 2m39s
2026-09-21 22:46:07 +02:00
petrbalvin
057c4eb545
docs: complete the release delta in the changelog and readme
2026-09-21 22:45:56 +02:00
petrbalvin
f720381d43
feat(asm): the segment-absolute and crash-store forms GOROOT writes
...
Test / test (push) Failing after 2m28s
Assisted-by: GLM 5.3 Flash
2026-09-21 22:19:53 +02:00
petrbalvin
2c9042d62c
feat(asm): PCALIGN alignment on amd64
...
Assisted-by: GLM 5.3 Flash
2026-09-21 22:00:30 +02:00
petrbalvin
82ef289d3a
feat(asm): the immediate multiply and arm64 indirect branches GOROOT writes
...
Assisted-by: GLM 5.3 Flash
2026-09-21 21:50:11 +02:00
petrbalvin
7246b0e002
feat(asm): the TLS access pair in the toolchain's one-instruction form
...
Assisted-by: GLM 5.3 Flash
2026-09-21 21:35:15 +02:00
petrbalvin
8cfd40aac8
feat(asm): the operand forms and defines GOROOT writes
...
Assisted-by: GLM 5.3 Flash
2026-09-21 21:17:34 +02:00
petrbalvin
5382c9a8e4
feat(audit): list every corpus failure per architecture
2026-09-21 21:17:34 +02:00
petrbalvin
53de91b2df
docs(asm): describe the four target architectures
...
Test / test (push) Failing after 2m23s
Assisted-by: GLM 5.3 Flash
2026-09-21 20:15:55 +02:00
petrbalvin
8a36af7c7d
docs(asm): generate the instruction appendices
...
Assisted-by: GLM 5.3 Flash
2026-09-21 20:15:55 +02:00
petrbalvin
e9789ce3f4
chore(arch): regenerate the instruction tables
2026-09-21 20:15:55 +02:00
petrbalvin
837231c068
docs(asm): open the assembly language reference
...
Assisted-by: GLM 5.3 Flash
2026-09-21 19:49:04 +02:00
petrbalvin
95025be1bc
docs(changelog): describe the encoder entries by content
Test / test (push) Failing after 2m33s
2026-09-21 19:20:01 +02:00
petrbalvin
03a964bb2d
docs(goobj): document the GOOBJ object file format
2026-09-21 19:19:53 +02:00
petrbalvin
123a16e346
docs(readme): state the documentation goal
2026-09-21 18:35:27 +02:00
petrbalvin
9701812bee
docs: changelog for the completeness waves
...
Test / test (push) Failing after 3m6s
Assisted-by: GLM 5.3 Flash
2026-09-21 02:04:44 +02:00
petrbalvin
29ac03468e
feat(amd64): floating-point immediates through a synthesised pool
...
Assisted-by: GLM 5.3 Flash
2026-09-21 02:04:44 +02:00
petrbalvin
bfb7701db1
feat(amd64): emit the quad-register EVEX families
...
Assisted-by: GLM 5.3 Flash
2026-09-21 02:02:19 +02:00
petrbalvin
e8b6ff5d7c
fix(parser): fold a signed parenthesised displacement expression
...
Test / test (push) Failing after 2m21s
Assisted-by: GLM 5.3 Flash
2026-09-21 00:45:33 +02:00
petrbalvin
1456907000
feat(riscv64,loong64): operand tail, float DATA and honest port classification
...
Assisted-by: GLM 5.3 Flash
2026-09-21 00:44:47 +02:00
petrbalvin
ec1c521187
feat(cmd): GOOS-aware headers, audit battery shapes and semicolon spacing
...
Test / test (push) Failing after 2m21s
Assisted-by: GLM 5.3 Flash
2026-09-20 22:02:46 +02:00
petrbalvin
a7744c24bd
fix(parser): substitute macro parameters behind element selectors
...
Assisted-by: GLM 5.3 Flash
2026-09-20 22:02:19 +02:00
petrbalvin
522e6f2ae8
feat(parser): bracket register ranges, index-only VSIB and bare trailing immediates
...
Assisted-by: GLM 5.3 Flash
2026-09-20 22:02:19 +02:00
petrbalvin
81d4bd81e4
test(verify): register the wave kernels
...
Test / test (push) Failing after 2m20s
Assisted-by: GLM 5.3 Flash
2026-09-20 21:17:31 +02:00
petrbalvin
687678a2ea
feat(elf): emit data relocations on arm64, riscv64 and loong64
...
Assisted-by: GLM 5.3 Flash
2026-09-20 21:17:20 +02:00
petrbalvin
b0f9071bf5
feat(arm64): whole-vector moves, bookkeeping ops and truncating-move lowering
...
Assisted-by: GLM 5.3 Flash
2026-09-20 21:17:20 +02:00
petrbalvin
81e2673923
feat(amd64): encode the AVX-512 and BMI corpus families
...
Assisted-by: GLM 5.3 Flash
2026-09-20 21:17:20 +02:00
petrbalvin
75e9fd771b
feat(parser): split plain statements on semicolons in the raw parse
...
Test / test (push) Failing after 2m30s
Assisted-by: GLM 5.3 Flash
2026-09-20 19:15:35 +02:00
petrbalvin
863926abd6
test(verify): register the loong64 vector kernels
...
Assisted-by: GLM 5.3 Flash
2026-09-20 19:15:05 +02:00
petrbalvin
241e7256f6
fix(arm64): reject bare BTI with a diagnostic and accept the full family
...
Assisted-by: GLM 5.3 Flash
2026-09-20 19:15:05 +02:00
petrbalvin
6556b85abf
feat(asm): symbol-valued DATA, division slash in symbols and plain semicolons
...
Assisted-by: GLM 5.3 Flash
2026-09-20 19:15:05 +02:00
petrbalvin
289cabe993
feat(loong64): encode the full LSX and LASX table
...
Assisted-by: GLM 5.3 Flash
2026-09-20 19:14:43 +02:00
petrbalvin
d6cf7cfa44
fix(format): keep statement separators and canonical macro bodies
...
Assisted-by: GLM 5.3 Flash
2026-09-20 19:14:43 +02:00
petrbalvin
4cc2f0eba5
feat(cmd): generate go_asm.h for package-context assembly
...
Assisted-by: GLM 5.3 Flash
2026-09-20 19:14:43 +02:00
petrbalvin
97dfaa7526
docs: changelog for macro expansion and the corrected corpus audit
...
Test / test (push) Successful in 2m14s
Assisted-by: GLM 5.3 Flash
2026-09-20 14:25:47 +02:00
petrbalvin
66aa4dbc8b
test(verify): register the campaign kernels in the ground-truth suites
...
Assisted-by: GLM 5.3 Flash
2026-09-20 14:25:47 +02:00
petrbalvin
dce5d31462
feat(amd64): LOCK and REP prefixes, literal data pseudo-ops and ADJSP
...
Assisted-by: GLM 5.3 Flash
2026-09-20 14:25:47 +02:00
petrbalvin
9dc3987e02
feat(riscv64,loong64): PCALIGN, branch relaxation and operand shapes
...
Assisted-by: GLM 5.3 Flash
2026-09-20 14:25:47 +02:00
petrbalvin
9b238a525a
feat(arm64): wide immediates, SIMD compare and system operand forms
...
Assisted-by: GLM 5.3 Flash
2026-09-20 14:25:47 +02:00
petrbalvin
ad82aac663
feat(parser): macro expansion, conditionals and include splicing with -I
...
Assisted-by: GLM 5.3 Flash
2026-09-20 14:25:47 +02:00
petrbalvin
0629f5e2df
feat(arm64): assemble PCALIGN padding and BYTE literal bytes
...
Test / test (push) Successful in 2m16s
Assisted-by: GLM 5.3 Flash
2026-09-20 11:49:05 +02:00
petrbalvin
ecb203dcf5
fix(lexer): treat trailing CR as line end so comment text is idempotent
...
Test / test (push) Successful in 2m13s
Assisted-by: GLM 5.3 Flash
2026-09-20 11:40:39 +02:00
petrbalvin
6c672567f3
feat(amd64): assemble the double-shift and static-SB operand shapes
...
Assisted-by: GLM 5.3 Flash
2026-09-20 11:40:39 +02:00
petrbalvin
cc6e416c59
fix(lint): exempt shift counts, SETcc and ABIInternal from false positives
...
Assisted-by: GLM 5.3 Flash
2026-09-20 11:40:39 +02:00
petrbalvin
c66a47973a
fix(format): preserve square brackets in SIMD operands
...
Test / test (push) Successful in 2m15s
Assisted-by: GLM 5.3 Flash
2026-09-20 09:58:25 +02:00
petrbalvin
9629897202
docs: changelog and readme for the instruction wave and the honest corpus rate
...
Test / test (push) Successful in 2m17s
Assisted-by: GLM 5.3 Flash
2026-09-20 06:45:03 +02:00
petrbalvin
5399a8a724
feat(audit): probe the new operand shapes and measure attemptable files
...
Assisted-by: GLM 5.3 Flash
2026-09-20 06:45:03 +02:00
petrbalvin
de5d9f358e
feat(riscv64,loong64): encode AMO atomics, vector slices and bit ops
...
Assisted-by: GLM 5.3 Flash
2026-09-20 06:44:51 +02:00
petrbalvin
ca3fdce0e0
feat(arm64): encode pairs, atomics, crypto, system and NEON slices
...
Assisted-by: GLM 5.3 Flash
2026-09-20 06:44:51 +02:00
petrbalvin
fc2d92eabd
feat(amd64): encode the GOROOT instruction families
...
Assisted-by: GLM 5.3 Flash
2026-09-20 06:44:51 +02:00
petrbalvin
39d2e80145
ci(release): refuse empty assets and verify what the release serves
...
Test / test (push) Successful in 2m10s
Assisted-by: DeepSeek V4.1 Flash
2026-09-20 02:01:36 +02:00
petrbalvin
9f4f949c1f
chore: prepare release v0.34.0
Test / test (push) Successful in 2m11s
Release / gates (push) Successful in 2m11s
Release / build (amd64, linux) (push) Successful in 1m13s
Release / build (arm64, linux) (push) Successful in 1m10s
Release / build (loong64, linux) (push) Successful in 1m12s
Release / build (riscv64, linux) (push) Successful in 1m33s
Release / release (push) Successful in 58s
2026-09-20 01:44:23 +02:00
petrbalvin
f0d5238c47
docs: state the validation status and correct claims the material contradicts
...
Assisted-by: DeepSeek V4.1 Flash
2026-09-20 01:40:51 +02:00
petrbalvin
2931bbd6b2
ci(release): refuse a tag the security policy does not name
...
Assisted-by: DeepSeek V4.1 Flash
2026-09-20 01:40:51 +02:00
petrbalvin
63562a503a
test(justfile): run the CLI and debugger tests outside the coverage set
...
Assisted-by: DeepSeek V4.1 Flash
2026-09-20 01:40:51 +02:00
petrbalvin
e836d6150d
docs: changelog entry for the loong64 JIT enablement
...
Test / test (push) Successful in 2m7s
Assisted-by: GLM 5.3
2026-09-20 00:57:02 +02:00
petrbalvin
8a51b060da
feat(cmd): enable loong64 JIT execution, all trampolines qemu-validated
...
Assisted-by: GLM 5.3
2026-09-20 00:57:02 +02:00
petrbalvin
d3d47db727
test(verify): seed the arm64 ABI kernel arguments
...
Assisted-by: GLM 5.3
2026-09-20 00:57:02 +02:00
petrbalvin
0758556b7d
docs: changelog entries for the parity round and corpus number
...
Assisted-by: GLM 5.3
2026-09-20 00:38:24 +02:00
petrbalvin
ddb8440340
fix(cmd): padding-aware ground-truth comparison
...
Assisted-by: GLM 5.3
2026-09-20 00:38:24 +02:00
petrbalvin
f15ff66fb1
fix(riscv64): accept the g spelling of the goroutine register
...
Assisted-by: GLM 5.3
2026-09-20 00:38:24 +02:00