Commit Graph

19049 Commits

Author SHA1 Message Date
kalsprite
cd6a913e55 fix: oob signed int consts 2026-08-04 17:34:36 -07:00
Jeroen van Rijn
cfab1e391a Merge pull request #7218 from kalsprite/transposition
fix levenstein_distance
2026-08-05 02:28:37 +02:00
Jeroen van Rijn
dcbea5ff21 Merge pull request #7217 from kalsprite/upstream_fixes
Every named argument in "Given argument types" is labelled with the first argument's name
2026-08-05 02:20:02 +02:00
kalsprite
3fe310c7e9 fix levenstein_distance 2026-08-04 17:13:31 -07:00
kalsprite
439ab0a52e Merge branch 'master' into upstream_fixes 2026-08-04 17:02:36 -07:00
kalsprite
49f1ea6d2a fix: named operands dont advance 2026-08-04 17:00:04 -07:00
gingerBill
98fc72bd2d Merge pull request #7215 from corleypc/fix-sefault-zero-size-params
Fixes a compiler segfault with zero sized parameters on targets that ignore these in the llvm signature
2026-08-05 01:29:08 +02:00
Jeroen van Rijn
c24708defc Fix typo in chacha8rand_refill_simd128 2026-08-05 00:14:53 +02:00
Alexander Zhura
1fd3cbb0b5 Impl simd arm neon bit manipulation 2026-08-04 23:50:47 +03:00
Mihail Moskov
2f0ced70ab fixes an obscure segfault on targets that ignore zero sized params in the llvm signature 2026-08-04 18:57:32 +03:00
Brody
21fd0c4645 fix: bad merge 2026-08-05 00:40:13 +10:00
Jeroen van Rijn
7e84194853 Merge pull request #7214 from corleypc/no-alias-indirect-return-fix
Fixes compile error due to #no_alias shifting position in procs with indirect return
2026-08-04 16:39:59 +02:00
Brody
7945cf3ac3 Merge branch 'master' into poly-proc-fix 2026-08-05 00:19:06 +10:00
Brody
90f6c9d0db whitespace 2026-08-05 00:17:48 +10:00
Jeroen van Rijn
b1e2eefafe Merge pull request #7213 from Kelimion/netbsd-fix
Fix NetBSD CI
2026-08-04 15:53:43 +02:00
Mihail Moskov
9630660f53 fixes compile error due to no_alias shifting position on procedures with indirect returns 2026-08-04 16:51:04 +03:00
Jeroen van Rijn
a97f6b47b6 Don't use -microarch:native on odin check 2026-08-04 15:23:07 +02:00
Jeroen van Rijn
328c4f4569 Fix NetBSD CI 2026-08-04 15:11:25 +02:00
Jeroen van Rijn
aed75789c0 Merge pull request #7212 from Kelimion/box3d-update
Update box3d
2026-08-04 14:47:21 +02:00
Jeroen van Rijn
74c006cc20 Revert box3d arm64 lib 2026-08-04 14:32:38 +02:00
Jeroen van Rijn
c98f01c6b1 Add box3d arm64 binary 2026-08-04 14:20:27 +02:00
Jeroen van Rijn
11f481b4c3 Update box3d
Update box3d to 3fc20f5b45

Fixes #7177
2026-08-04 14:16:51 +02:00
Jeroen van Rijn
4d3f38d47a Merge pull request #7211 from Yawning/fix/fiat-ensure
core/crypto/_fiat: Fix conditional in ensure
2026-08-04 13:36:19 +02:00
Yawning Angel
e57af19fcd core/crypto/_fiat: Fix coditional in ensure
Callers in core also check so there is no user visible impact.
2026-08-04 20:07:19 +09:00
subotac
d36e9a24b1 fix: remove unused variadic element type 2026-08-04 14:02:06 +03:00
Brody
91e0e6ce47 fix: record resolved entity for proc-typed default values 2026-08-04 19:12:08 +10:00
gingerBill
14007d51d3 Merge pull request #7119 from haferflocken/caller-expression-for-procedures
Allow #caller-expression on constant parameters which are procedures
2026-08-04 10:53:52 +02:00
gingerBill
6c2bb94ceb Merge pull request #7206 from ssenthilnathan3/fix/os-glob-clone
Fix os.glob not cloning pattern when no meta characters present
2026-08-04 10:52:43 +02:00
Senthilnathan
b838b1bf25 fixes os.glob not cloning pattern when no meta characters present 2026-08-04 12:19:03 +05:30
Flāvius
2e8d3b9e10 rexcode/isa: display-side label naming — address order, offset-keyed names
Internal label ids are allocation-order handles: the encoder's creation
order, or the decoder's branch-DISCOVERY order (a loop's latch names the
header before an earlier forward target). Printing labels by raw id leaked
that accident into listings — label numbers appeared out of order down the
page — and the printers' `label_names: ^map[u32]string` keyed the caller's
names by those synthesized ids, which a decode consumer cannot know without
re-deriving them (the practical result: naming "label 0" could caption a
random interior branch target).

Naming is now derived at the presentation seam, shared by every ISA
(`isa.Label_Display` in isa/print.odin):

  - display numbers are assigned in ASCENDING ADDRESS order, so a listing
    reads L0, L1, L2 … top to bottom regardless of id allocation;
  - caller names are keyed by BYTE OFFSET (`isa.Label_Names`, with a
    `distinct` Label_Offset key so an id-keyed map from the old contract
    fails to compile instead of silently mis-naming);
  - a named offset is guaranteed a label row even when no Label_Definition
    points at it — `names[0] = "factorial"` heads a function's listing.

All ten ISA printers (x86, mips, rsp, arm32, arm64, riscv, ppc, ppc_vle,
mos6502, mos65816) drop their per-printer offset_to_label maps and
write_label helpers for the shared display; each arch re-exports
Label_Offset/Label_Names beside Label_Definition. En route this fixes an
arm32/ppc/ppc_vle bug where passing ANY names map suppressed the default
L<n> label rows for unnamed labels. Decode-side id assignment is untouched:
the reloc round-trip contract (encoder ids surviving decode) and the
sparse-id padding it relies on stay exactly as they were.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Riok9vMpkLmo78wsVKJHhz
2026-08-03 20:52:11 -04:00
Flāvius
da15373ee9 rexcode/mips: add the R6 signed mul/div encodings (MUL_R6/DIV_R6/DIVU_R6)
The table had the R6 unsigned mul, both muh, and mod/modu, but not the R6
SIGNED low multiply (SPECIAL funct 0x18, sa=2 → 0x98) or the R6 signed/unsigned
divide (funct 0x1A, sa=2/3 → 0x9A/0x9B). Add MUL_R6, DIV_R6, DIVU_R6 to the
Mnemonic enum + the encoding table (all SPECIAL, RD/RS/RT, mask 0xFC0007FF,
MIPS32_R6) and regenerate the tables. Verified against llvm-mc -mcpu=mips32r6
(mul/div/divu $rd,$rs,$rt). All existing mips tests pass (166/39/65/14).
2026-08-03 20:52:11 -04:00
Flāvius
69c6135b55 rexcode/mips: feature-gate the decoder so shared opcodes resolve per ISA variant
The MIPS decode tables are universal — every variant (MIPS I..64/R6, the PS1
GTE, PS2 MMI/VU, PSP VFPU) shares one table. Some primary opcodes collide
across variants: most visibly 0x37 is `LD` on 64-bit MIPS but `vfim.s` on the
PSP Allegrex VFPU. The decoder took the first table match, so `LD $ra, 0($sp)`
(0xdfbf0000) mis-decoded as `vfim.s $31, 0`.

Each Decode_Entry already carries a `feature`; the decoder just ignored it.
`decode` now takes a `features: Feature_Set` (a bit_set over `Feature`),
defaulting to `FEATURES_ALL` so existing callers are unchanged, and skips an
entry whose feature isn't enabled — the first ENABLED match wins, preserving
the most-specific-mask-first order. Added `FEATURES_MIPS_III` (MIPS I/II/III +
COP0 + FPU — the VR4300 / classic 64-bit baseline) for N64/MIPS-III consumers.

decode_smoke: opcode 0x37 decodes as LD under FEATURES_MIPS_III and (still)
as the PSP VFPU entry under FEATURES_ALL. 65 decoder checks pass.
2026-08-03 20:52:11 -04:00
Jeroen van Rijn
77af2cbba1 Merge pull request #7204 from corleypc/soa-comments-fix
Cleans up obsolete comments in _append_soa_elems
2026-08-04 01:03:07 +02:00
Jeroen van Rijn
7175d3d6c5 Merge pull request #7205 from alexthed1rk/fix-simd-arm-sha-arch
Impl fix simd arm sha arch
2026-08-03 23:38:22 +02:00
Alexander Zhura
cc71be2a5b Impl fix simd arm sha arch 2026-08-04 00:19:32 +03:00
corley
478ecf130f another useless comment removed 2026-08-03 23:45:44 +03:00
corley
c720ee5353 cleans up obsolete comments 2026-08-03 23:26:44 +03:00
Max Rabin
e9cb1e7019 Fix grammar in simd.odin doc comment 2026-08-03 22:26:18 +03:00
Laytan
014408297b Merge pull request #7200 from A1029384756/trace-tracking-allocator-improvements
[debug/trace] sync allocator with `core:mem`
2026-08-03 16:18:37 +02:00
A1029384756
1ac0b9bcdc [debug/trace] sync allocator with core:mem 2026-08-03 10:09:39 -04:00
gingerBill
dd796f5574 Merge pull request #7139 from bingis-khan/fix_nil_type_mismatch
Fix LLVM codegen for matching on `nil` for `union{}`
2026-08-03 16:06:55 +02:00
gingerBill
39e5d78aba Improve error handling on set in set comparisons to suggest using <= instead 2026-08-03 15:01:51 +01:00
gingerBill
23b45391d2 Merge pull request #7149 from corleypc/no-alias-dyn-arrays
Annotates the array parameter of dynamic array builtins with #no_alias
2026-08-03 15:43:03 +02:00
gingerBill
319143e4b7 Minor style cleanup 2026-08-03 14:42:44 +01:00
gingerBill
9914a57fc7 Add intrinsics.soa_copy_from_slice and use it within _append_soa_elems replacing the old handwritten unrolled approach 2026-08-03 14:41:04 +01:00
Brody
87b514890c fix: instantiated procs keep their own scope
Was this check here for a reason? Investigate
2026-08-03 22:07:18 +10:00
Brody
cce1bdd8c7 fix: return true for already specialised poly proc 2026-08-03 21:42:39 +10:00
Jeroen van Rijn
a38d3abbcb Merge pull request #7144 from Yawning/fixes/riscv
RISC-V fixes/improvements
2026-08-03 13:37:43 +02:00
gingerBill
100877d312 Merge pull request #7196 from corleypc/make-soa-go-vroom
Make soa builtins go vroom
2026-08-03 13:26:17 +02:00
gingerBill
40c7fabeb9 Merge pull request #7195 from thePHTest/master
zero tracking_allocator.allocation_map and tracking_allocator.bad_free_array in destroy
2026-08-03 12:57:32 +02:00