petrbalvin
257feace6e
feat(asm): encode the amd64 XSAVE family
...
XSAVE, XSAVEOPT, XSAVEC and XSAVES with their restore twins, plain and
64, each pinned byte for byte against go tool asm through every corpus
line the toolchain's own amd64enc.s carries for the family (24 lines).
The toolchain emits XSAVEOPT without the manual's 0x66 prefix; the bytes
are the oracle, so the family carries none.
Assisted-by: GLM 5.3 Flash
2026-10-06 23:59:47 +02:00
petrbalvin
f83bc8ddef
feat(asm): encode the amd64 system, string and segment families
...
The no-operand flag and system controls, the sign-extension pair, the
string primitives, the multi-byte no-ops, the cache controls, MOVBE, the
compare-exchange doubles, the random source and FS/GS base pairs, the
descriptor-table accesses, the 0F 00/01 register controls and the
LAR/LSL selector reads and far-segment loads, each pinned byte for byte
against go tool asm through every corpus line the toolchain's own
amd64enc.s carries for the families (279 lines).
Assisted-by: GLM 5.3 Flash
2026-10-06 23:59:47 +02:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
f15ff66fb1
fix(riscv64): accept the g spelling of the goroutine register
...
Assisted-by: GLM 5.3
2026-09-20 00:38:24 +02:00
petrbalvin
187e4856d3
feat(amd64): encode the mixed-width extend family and PMOVMSKB
...
Assisted-by: GLM 5.3
2026-09-20 00:38:24 +02:00
petrbalvin
d315a998ce
fix(arm64): store-exclusive operand order and large-frame parity
...
Assisted-by: GLM 5.3
2026-09-20 00:38:24 +02:00
petrbalvin
87b1081c53
fix(goobj): external package and symbol indices and arm64 pair relocations
...
Assisted-by: GLM 5.3
2026-09-19 23:49:13 +02:00
petrbalvin
f3c8510a58
fix(elf): relocation records, DWARF tables and per-architecture frame data
...
Assisted-by: GLM 5.3
2026-09-19 23:49:13 +02:00
petrbalvin
ebdf14939f
fix(loong64): FP immediates through R30 and unsigned branch forms
...
Assisted-by: GLM 5.3
2026-09-19 23:49:13 +02:00
petrbalvin
79a2c16bac
fix(riscv64): compressed store offsets, FENCE and branch range checks
...
Assisted-by: GLM 5.3
2026-09-19 23:49:13 +02:00
petrbalvin
401386956c
fix(arm64): encode shifts, divides and multiplies and align sizes with emission
...
Assisted-by: GLM 5.3
2026-09-19 23:49:07 +02:00
petrbalvin
4258131a3a
fix(amd64): correct guard displacements, frameless FP offsets and immediate ranges
...
Assisted-by: GLM 5.3
2026-09-19 23:49:07 +02:00
petrbalvin
ac1c05c793
fix(lexer): tokenise the flag separator and handle NUL and invalid UTF-8
...
Assisted-by: GLM 5.3
2026-09-19 23:48:47 +02:00
petrbalvin
f37f183577
feat(riscv64): GOROOT instruction shapes, DATA order and offset expressions
...
Assisted-by: GLM 5.3 Flash
2026-09-19 19:58:43 +02:00
petrbalvin
23c001be51
feat(asm): encode indirect JMP and CALL on all four architectures
...
Assisted-by: GLM 5.3 Flash
2026-09-19 19:17:07 +02:00