Commit Graph

8158 Commits

Author SHA1 Message Date
Karl Zylinski
4d7edd08d1 Fix broken example in handle_map/doc.odin 2026-08-19 17:13:38 +02:00
Karl Zylinski
36ae65bba2 Fix broken example in handle_map/doc.odin 2026-08-19 17:13:07 +02:00
Karl Zylinski
a0a75bf4a7 Split the non-specific parts of the Handle Map out to a general.odin file. This means that the Handles and the generic procedure groups are no longer in static_handle_map.odin. Also enabled and fixed the static handle map test. Added another test that uses the generic procedure groups. 2026-08-19 17:03:59 +02:00
gingerBill
8956deb322 Check for implicitly read registers which have not be handled 2026-08-19 12:29:54 +01:00
gingerBill
4cf22b3efa Merge pull request #7380 from dbriemann/dlb/vpdpwssd
Add AVX-512 VNNI VPDPWSSD support to inline assembly
2026-08-19 12:53:41 +02:00
gingerBill
8d0cc4d64b Clobber implicit_wr and implicit_rd 2026-08-19 11:03:50 +01:00
David Linus Briemann
36af738347 core:rexcode: regenerate x86 encoding tables 2026-08-19 09:09:58 +02:00
David Linus Briemann
8370fdaf7c core:rexcode: add AVX-512 VNNI VPDPWSSD 2026-08-19 09:09:50 +02:00
gingerBill
64ac30e803 Merge pull request #7272 from nic-vdwalt/wasm-js-shared-memory
core/sys/wasm/js: support shared WebAssembly memory in browser APIs
2026-08-18 20:11:55 +02:00
gingerBill
9870cd4c36 Merge pull request #7271 from odin-lang/bill/inline-asm
`asm` templates
2026-08-18 19:19:40 +02:00
Jeroen van Rijn
6b661becae Merge pull request #7375 from thetarnav/remove-inline-keywords-core-odin
Remove `inline` and `no_inline` keywords from `core:odin`
2026-08-18 19:03:00 +02:00
thetarnav
f1bbd8fe49 Remove inline and no_inline keywords from core:odin
Odin uses `#force_inline` and `#force_no_inline` directives, not
keywords.
The cpp parser does not define them as keywords:
/home/thetarnav/Projects/odin/src/tokenizer.cpp:86
Nor does the grammar spec: https://odin-lang.org/spec/grammar/#keywords
2026-08-18 18:25:22 +02:00
Nick Aversano
54b818e9a7 fix FILE_NOTIFY_INFORMATION struct member casing 2026-08-18 11:19:10 -04:00
gingerBill
14184744ee Add missing x86.clobber_forms.bin 2026-08-18 15:13:37 +01:00
gingerBill
6e17e7a2de Add missing x86 instructions 2026-08-18 13:19:23 +01:00
gingerBill
8d33a47fab Improve comment for the CLOBBER_TABLE 2026-08-18 11:54:45 +01:00
gingerBill
18df1ed23e Correct clobber_table.odin 2026-08-18 11:44:35 +01:00
gingerBill
80d7f6462a Minor clean up 2026-08-18 11:33:49 +01:00
gingerBill
35ae861ff6 Use number rather than enum 2026-08-18 11:28:54 +01:00
gingerBill
8e807fb7aa Use new clobber forms in check_asm.cpp 2026-08-18 11:23:20 +01:00
gingerBill
b1b08c13c0 Update clobber table to encode the clobbering for each of the forms 2026-08-18 11:20:30 +01:00
Jeroen van Rijn
7140c5bccb Fix #7365
Fixes #7365
2026-08-18 01:53:55 +02:00
Ruan
ad8cfbeb73 Fix slice.simple_equal misbehaviour on empty slice with non-nil data
Before this change, the following code:

```odin
package strconcat

import "core:fmt"
import "core:slice"

main :: proc() {
	a: [1]u8
	s1: []u8 = {}
	s2: []u8 = a[:0]

	fmt.printfln("s1={} len(s1)={} raw_data(s1)={}", s1, len(s1), raw_data(s1))
	fmt.printfln("s2={} len(s2)={} raw_data(s2)={}", s2, len(s2), raw_data(s2))
	fmt.printfln("equal(s1, s2):        {}", slice.equal(s1, s2))
	fmt.printfln("simple_equal(s1, s2): {}", slice.simple_equal(s1, s2))
}
```

Produced the following output on my machine:

```
s1=[] len(s1)=0 raw_data(s1)=<nil>
s2=[] len(s2)=0 raw_data(s2)=0x7FFFED64F74F
equal(s1, s2):        true
simple_equal(s1, s2): false
```

This commit fixes simple_equal's behaviour to match that of equal.
2026-08-17 22:38:40 +02:00
gingerBill
a2bcf3177a Improve error messages for register class printing 2026-08-17 21:10:24 +01:00
gingerBill
8f2a4346fc Handle _SSE edge cases 2026-08-17 19:31:38 +01:00
gingerBill
e2e4a61003 Remove suffixes 2026-08-17 19:29:42 +01:00
pav
2c7b3e6780 fix slice.get doing unnecessary bounds check 2026-08-17 18:40:12 +02:00
gingerBill
db94c5a6cb Begin work in %flags.zf et al 2026-08-17 12:25:17 +01:00
gingerBill
344e8afa36 #clobber cc -> #clobber flags 2026-08-17 12:10:08 +01:00
gingerBill
1f2234a4b2 Merge branch 'master' into bill/inline-asm 2026-08-17 11:44:14 +01:00
Samuel Elgozi
4a08f5c48a mem: Preserve alignment when reusing Dynamic_Arena blocks 2026-08-17 00:21:50 +03:00
Jeroen van Rijn
a9b7d3dfc6 Fix #7350 2026-08-16 18:08:17 +02:00
Jeroen van Rijn
cc7d6764d3 Merge pull request #7349 from TheRadischen/merge_sort
improved stable sort | from insertion_sort to merge_rotate
2026-08-16 16:03:57 +02:00
TheRadischen
7d9367e3b4 morestyle improvements mybe this is it? 2026-08-16 15:24:55 +02:00
TheRadischen
0b0778f981 morestyle improvements mybe this is it? 2026-08-16 15:24:19 +02:00
TheRadischen
1a70315797 style_corrections 2026-08-16 15:09:12 +02:00
TheRadischen
9757fed9f9 changed_to_tabs 2026-08-16 14:28:38 +02:00
TheRadischen
d8177f7716 adjusted_smallsort_threshhold 2026-08-16 13:33:32 +02:00
TheRadischen
4c945c995a added_back_where 2026-08-16 12:58:23 +02:00
TheRadischen
df54692a9b addedtest 2026-08-16 12:22:25 +02:00
Jeroen van Rijn
3eeda58634 Merge pull request #7344 from kalsprite/simd_builtin_diagnostics
simd: enforce the `#simd` construction rules and stop two crashes
2026-08-16 12:17:39 +02:00
TheRadischen
267c745ac7 rotate_merge 2026-08-16 12:07:09 +02:00
mo
4e0a71c24c Add non-allocating hex.decode_into_buffer
Also minor fixes to documentation of hex.decode().

Adds tests of the new procedure with buffers the correct size, larger,
and too small.
2026-08-16 19:48:19 +12:00
kalsprite
69fb453e51 redecl type; pairwise guard 2026-08-15 22:02:06 -07:00
Alexander Zhura
64a5887f83 Impl simd arm neon logical 2026-08-14 22:01:59 +03:00
Jeroen van Rijn
24e973ceb2 Merge pull request #7275 from alexthed1rk/impl-simd-arm-neon-table-lookup-ext
Impl simd arm neon extended table lookup
2026-08-14 20:09:08 +02:00
diego
ac7110e098 Remove unused variable in fixed-point write procedure 2026-08-14 13:21:03 +02:00
gingerBill
08f3be70cf Add helper methods to the asm_tables_amd64.cpp 2026-08-12 21:18:10 +01:00
gingerBill
dbe5761bb0 Minor change 2026-08-12 16:19:58 +01:00
gingerBill
5eb0239474 Utilize triple quote strings within the C++ asm table generation 2026-08-12 16:09:18 +01:00