petrbalvin
1691c81095
style: replace em and en dashes across sources
2026-09-14 18:22:18 +02:00
petrbalvin
953c258d6a
fix(asm): make arm64 and loong64 relocations match the toolchain
2026-09-14 18:22:00 +02:00
petrbalvin
c6f0286732
fix(asm): encode amd64 frame adjustments above 127 bytes with imm32
2026-09-14 18:22:00 +02:00
petrbalvin
56ad158772
fix: restore iota blocks, asm --format flag and prose after the syntax pass
Test / vet (push) Successful in 48s
Test / test (push) Successful in 2m35s
Test / build (push) Successful in 40s
2026-08-29 17:12:53 +02:00
petrbalvin
9beff4ae85
style: modernize to splitseq, cut, min, maps.copy and range-over-int
2026-08-29 16:04:32 +02:00
petrbalvin
eacf33d0f7
fix: staticcheck and deadcode findings repo-wide, modernize counting loops
2026-08-29 15:25:15 +02:00
petrbalvin
685b150ecf
feat(lint): flag table-known instructions the encoder cannot emit
2026-08-29 13:42:47 +02:00
petrbalvin
6699ebd34f
feat(asm): add prefetch hint encoding
Test / vet (push) Successful in 51s
Test / test (push) Successful in 2m37s
Test / build (push) Successful in 41s
2026-08-29 10:42:15 +02:00
petrbalvin
ba4d961b20
fix(asm): ADDQ imm8 frame adjust for 128-255 byte frames
2026-08-28 22:11:24 +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
746cef8100
feat(asm): add .debug_frame CFI section for stack unwinding
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 01:20:21 +02:00
petrbalvin
ce5ec24fa8
feat(asm): integrate DWARF5 sections into all ELF emitters
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:35:21 +02:00
petrbalvin
3acbdd6533
feat(asm): add DWARF5 debug info generation for ELF output
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:35:21 +02:00
petrbalvin
ae550cc05a
fix(asm): add cross-package GOOBJ resolution for riscv64, loong64, arm64
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:35:21 +02:00
petrbalvin
56630f8624
chore(toolchain): upgrade to Go 1.27
Test / vet (push) Successful in 1m5s
Test / test (push) Successful in 2m33s
Test / build (push) Successful in 40s
2026-08-20 16:03:26 +02:00
petrbalvin
459f4a2b6e
fix(test): add arm64 encoding tests for Go 1.26 coverage compatibility
...
Assisted-by: MiMo V2.5 Pro
2026-08-20 15:44:23 +02:00
petrbalvin
5d66343488
fix(goobj): make R_DWTXTADDR_U4 relocation type Go-version-aware
...
The relocation type number shifted between Go 1.26 (103) and Go 1.27
(106)
because new LoongArch relocations were inserted. Detect the Go version
at
runtime and use the correct value.
2026-08-20 15:35:39 +02:00
petrbalvin
97951cbeb6
feat(asm): extend arm64 encoder with atomics, bitfield, SIMD and more test kernels
...
Assisted-by: MiMo V2.5 Pro
2026-08-20 14:31:15 +02:00
petrbalvin
6e73f59e78
feat(asm): extend arm64 encoder with FP, conditional select, CRC32 and tests
...
Assisted-by: MiMo V2.5 Pro
2026-08-20 14:07:12 +02:00
petrbalvin
4221ec5741
feat(asm): add AArch64 arm64 encoder with ground-truth verification
...
Assisted-by: MiMo V2.5 Pro
2026-08-20 13:33:39 +02:00
petrbalvin
c05c53452f
fix(asm): encode RISC-V CALL sym(SB) as JAL
...
Test / vet (push) Successful in 47s
Test / test (push) Failing after 2m9s
Test / build (push) Skipped
Assisted-by: DeepSeek V4 Pro
2026-08-13 18:12:22 +02:00
petrbalvin
681a449c01
fix(asm): match RISC-V branch and jump encodings
2026-08-13 17:57:10 +02:00
petrbalvin
31a2cee382
fix(asm): materialise RISC-V MOV immediates
Test / vet (push) Successful in 44s
Test / test (push) Failing after 1m56s
Test / build (push) Skipped
2026-08-13 17:41:16 +02:00
petrbalvin
3bc7c18bc3
fix(asm): materialise large RISC-V immediates
...
Assisted-by: DeepSeek V4 Pro
2026-08-13 16:04:08 +02:00
petrbalvin
f0512a4e1c
fix(asm): complete RISC-V compressed loads/stores and word arithmetic
...
Assisted-by: DeepSeek V4 Pro
2026-08-13 15:42:38 +02:00
petrbalvin
373c09f725
fix(asm): correct RISC-V operand order and complete RVC compression
...
Assisted-by: DeepSeek V4 Pro
2026-08-13 15:13:31 +02:00
petrbalvin
b78b6c5004
fix(asm): correct RISC-V frame layout and RVC encodings
...
Assisted-by: GLM 5.2
2026-08-13 14:41:57 +02:00
petrbalvin
9b5c878f9e
feat(asm): emit RISC-V GOOBJ with the shared emitter
...
Assisted-by: DeepSeek V4 Pro
2026-08-13 12:07:29 +02:00
petrbalvin
31ee8e7941
feat(asm): add LoongArch encoder with ELF and GOOBJ emission
...
Assisted-by: DeepSeek V4 Pro
2026-08-13 11:24:44 +02:00
petrbalvin
2d1176e045
feat(asm): resolve external GOOBJ symbols from archive data
Test / vet (push) Successful in 1m2s
Test / test (push) Failing after 2m5s
Test / build (push) Skipped
2026-08-08 16:18:56 +02:00
petrbalvin
2a27a3a52b
docs: add BSD-3-Clause headers to generated files and update CI docs
2026-08-07 22:43:40 +02:00
petrbalvin
d7ee1b78d4
feat: drop Mach-O and macOS support, Linux-only
2026-08-07 22:20:26 +02:00
petrbalvin
ebd8ab8a3c
test: gate go-libraries integration tests behind -tags=integration
...
Test / vet (push) Successful in 44s
Test / test (push) Successful in 2m8s
Test / build (push) Successful in 40s
Assisted-by: GLM 5.2
2026-08-07 21:28:24 +02:00
petrbalvin
49566de7fb
feat(asm): add did-you-mean suggestions for undefined labels
...
Assisted-by: DeepSeek V4 Pro
2026-08-05 18:52:00 +02:00
petrbalvin
8ddac0135e
feat(asm): add GOOBJ emission for RISC-V
2026-08-05 09:27:00 +02:00
petrbalvin
f41a86b660
feat(asm): add RISC-V ELF relocatable object emission and SB relocation
...
support
2026-08-03 08:51:00 +02:00
petrbalvin
7721353d44
feat(asm): add RVC compression for branches, arithmetic, and FP
...
Assisted-by: DeepSeek V4 Pro
2026-08-03 01:08:00 +02:00
petrbalvin
243b087116
feat(riscv): add MOV pseudo-instruction and RVC compressed encoding
...
Assisted-by: DeepSeek V4 Pro
2026-08-02 18:22:00 +02:00
petrbalvin
eee7a6d4a4
feat(riscv): add RISC-V RV64A, FP and CSR instruction support
...
Assisted-by: Kimi K3
2026-08-02 11:45:00 +02:00
petrbalvin
a2acc9b5a3
feat(riscv): add prologue, epilogue and frame pseudo-register support
...
Assisted-by: Kimi K3
2026-08-02 00:18:00 +02:00
petrbalvin
f860bf8ce6
feat(asm): add RISC-V encoder with RV64I/RV64M instruction formats
...
Assisted-by: Kimi K3
2026-08-01 19:51:00 +02:00
petrbalvin
d114b3412c
feat(debug): complete the interactive debugger with disassembly, breakpoints, watchpoints and execution control
...
Assisted-by: DeepSeek V4 Pro
2026-08-01 09:47:00 +02:00
petrbalvin
5af12e15ac
feat(asm): add the GPR-interchanging conversions, completing the amd64 EVEX set
...
Assisted-by: Qwen 3.8 Max Preview
2026-08-02 23:11:30 +02:00
petrbalvin
1312122a99
feat(asm): complete the EVEX conversions, narrowing and mask-vector moves
...
Assisted-by: Qwen 3.8 Max Preview
2026-07-20 16:05:08 +02:00