petrbalvin
6af3fd60d5
feat(asm): encode the legacy amd64 SSE and MMX families
...
The packed integer and float binaries, the imm8-controlled SSE4.1 forms,
the variable blends with their X0 mask, the high/low half moves, the
sign-mask extractions, the non-temporal stores, the MOVQ bank crossings
and their odd spellings, the MMX shifts and shuffle and the cache-line
mask stores, plus the scalar leaves LEAVE, INVPCID and the RTM controls.
Every encoding is pinned byte for byte against go tool asm through every
corpus line the toolchain's own amd64enc.s carries for the families
(1465 lines). Two corpus-wide gaps fell out of the comparison: the
64-bit MOV immediate uses the zero-extending form across the unsigned
32-bit span, and the MMX-to-GPR MOVQ puts the bank register in reg.
Assisted-by: GLM 5.3 Flash
2026-10-06 23:59:47 +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
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
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
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
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
fc2d92eabd
feat(amd64): encode the GOROOT instruction families
...
Assisted-by: GLM 5.3 Flash
2026-09-20 06:44:51 +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
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
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
petrbalvin
1691c81095
style: replace em and en dashes across sources
2026-09-14 18:22:18 +02:00
petrbalvin
78b12dd427
fix(asm): match go tool asm encodings and strictness
2026-08-28 19:55:25 +02:00
petrbalvin
19a26e049b
feat(asm): add vpcmp compare, full opmask set, legacy sse integers and bswap
...
Test / vet (push) Successful in 47s
Test / test (push) Successful in 2m35s
Test / build (push) Successful in 41s
Assisted-by: GLM 5.3
2026-08-27 22:41:03 +02:00
petrbalvin
163480e283
feat(amd64): encode scalar/double conversion ops (CVTSS2SD/CVTSD2SS/CVTPS2PD/CVTPD2PS)
2026-08-27 22:02:11 +02:00
petrbalvin
0d62818db7
feat(amd64): encode legacy SSE binaries, imm8 shuffles and MOVQ xmm moves
2026-08-27 22:02:11 +02:00
petrbalvin
be2ceaafb9
feat(amd64): encode legacy SSE packed binaries and imm8 shuffles
Test / vet (push) Successful in 47s
Test / test (push) Successful in 2m34s
Test / build (push) Successful in 41s
2026-08-27 17:15:10 +02:00
petrbalvin
eade875b53
fix(asm): compress movq immediates to the go-tool-asm imm32 forms
...
Assisted-by: GLM 5.3
2026-08-24 20:23:39 +02:00
petrbalvin
b08005753e
fix(asm): encode BSF, BSR and POPCNT
...
Assisted-by: GLM 5.3
2026-08-24 20:19:34 +02:00
petrbalvin
1a01870695
fix(lint): calibrate register-clobber to the Go ABI and add legacy SSE moves
...
Assisted-by: Qwen 3.8 Max Preview
2026-07-11 17:36:52 +02:00
petrbalvin
56ecc39539
feat(asm): assemble static symbols and the whole go-flac AVX2 kernel byte-identically
...
Assisted-by: Qwen 3.8 Max Preview
2026-07-09 15:56:03 +02:00
petrbalvin
a82f575aee
feat(asm): byte-identical go-flac AVX2 assembly with scalar families and jump relaxation
...
Assisted-by: Qwen 3.8 Max Preview
2026-07-08 12:51:35 +02:00
petrbalvin
39870f91f6
feat(asm): add VEX shuffle, extract, permute, move and FP forms
...
Assisted-by: Qwen 3.8 Max Preview
2026-07-07 13:57:53 +02:00
petrbalvin
d5a4a6de45
feat: gasm-devkit 0.1.0 — GAsm lexer, parser, linter, formatter, LSP and amd64 assembler
...
Assisted-by: Qwen 3.8 Max Preview
2026-07-06 09:49:50 +02:00