Commit Graph

6724 Commits

Author SHA1 Message Date
gingerBill
5aec40e3e0 Remove unneeded uses of intrinsics.constant_utf16_cstring 2025-08-02 12:55:05 +01:00
gingerBill
c631a8eff5 os2 internals -> (c)string16 2025-08-02 12:47:03 +01:00
gingerBill
bb4bc316a4 for in string16; Support string16 across core 2025-08-02 12:20:35 +01:00
gingerBill
ae02d3d02d Begin supporting string16 across the core library 2025-08-02 11:55:16 +01:00
gingerBill
2561427dd3 Add string16 and cstring16 (UTF-16 based strings) 2025-08-02 11:00:15 +01:00
Barinzaya
4ef7ed1cbd Skip bounds checking on the inner accumulate loop.
This helps performance with SSE (somewhat) and AVX-512 (quite a bit),
but not AVX2 for some reason.
2025-07-31 16:51:42 -04:00
Barinzaya
f61dc7d071 Remove favor_size attributes inhibiting SIMD optimizations.
This makes a tremendous (2x with SSE2, 3x with AVX2) difference on big
datasets on my system, but this may be hardware-dependent (e.g.
instruction cache sizes).

Naturally, this also results in somewhat larger code for the large-data
case (~75% larger).
2025-07-31 13:05:10 -04:00
Barinzaya
2f8b390c19 Various minor changes in XXH3.
This includes various minor things that didn't seem right or could be
improved, including:
- XXH3_state is documented to have a strict alignment requirement of 64
  bytes, and thus came with a disclaimer not to use `new` because it
  wouldn't be aligned correctly. It now has an `#align(64)` so that it
  will.
- An _internal proc being marked #force_no_inline (every other one is
  #force_inline)
- Unnecessarily casting the product of two u32s through u128 (and
  ultimately truncating to u64 anyway)
2025-07-31 13:05:10 -04:00
Barinzaya
9d40f371be Add static SIMD support to XXH3 in core:hash/xxhash.
This uses compile-time features to decide how large of a SIMD vector to
use. It currently has checks for amd64/i386 to size its vectors for
SSE2/AVX2/AVX512 as necessary.

The generalized SIMD functions could also be useful for multiversioning
of the hash procs, to allow for run-time dispatch based on available CPU
features.
2025-07-31 13:05:08 -04:00
gingerBill
077ba0b6cb Merge pull request #5513 from colrdavidson/spall_v3
update to spall format v3
2025-07-31 12:37:09 +01:00
gingerBill
9b8223dd69 Remove use of .no_copy 2025-07-30 23:19:14 +01:00
gingerBill
6a10cfdc30 Fix typo 2025-07-30 23:15:14 +01:00
gingerBill
a2e7a62a26 Add virtual.new_clone 2025-07-30 23:14:53 +01:00
gingerBill
aa6a749804 Improve atomic logic for sync.Wait_Group 2025-07-30 23:11:18 +01:00
Colin Davidson
3e10684630 adjust scale with new format, fix segfault for auto-trace 2025-07-30 14:09:50 -07:00
Colin Davidson
7720a32120 Merge remote-tracking branch 'live/master' into spall_v3 2025-07-30 12:51:56 -07:00
Colin Davidson
b5a8a3cf94 require to reduce files for a one line function 2025-07-29 13:58:30 -07:00
Colin Davidson
42f2891f35 attempt to fix x86 osx build 2025-07-29 13:54:56 -07:00
Colin Davidson
e869b9351b Merge remote-tracking branch 'live/master' into spall_v3 2025-07-29 13:48:32 -07:00
Colin Davidson
35a95fc3e4 workaround to avoid excessive file-splitting 2025-07-29 13:28:04 -07:00
Colin Davidson
517e392abe if -> when 2025-07-29 13:18:40 -07:00
Colin Davidson
9a2e6fff48 switch to read_cycle_counter_frequency from arm64_read_cycle_counter_freq, trap on invalid arch 2025-07-29 12:21:46 -07:00
Colin Davidson
c1b3d035e4 remove spawn from os, comment sys/posix/spawn 2025-07-29 12:12:15 -07:00
Colin Davidson
0a102bd757 shuffle to Kern_Return 2025-07-29 11:52:58 -07:00
Colin Davidson
fe2b48dec4 enum pass 2025-07-29 11:48:58 -07:00
Colin Davidson
b5629aeed9 copy-paste typo fix 2025-07-28 16:34:53 -07:00
Colin Davidson
1a9b128bfc update linux-arm to use the asm intrin for freq 2025-07-28 16:32:10 -07:00
Colin Davidson
e1fd69f573 oops, one more manual_header 2025-07-28 16:27:54 -07:00
Colin Davidson
7986d85924 name_container_event -> name_event 2025-07-28 16:25:42 -07:00
Colin Davidson
2dd1e3c8e3 fix casts and consts 2025-07-28 16:24:29 -07:00
Colin Davidson
5b020591d8 update to spall format v3 2025-07-28 16:19:51 -07:00
Colin Davidson
76b00c046b arm64 has an invariant tsc too 2025-07-28 15:30:24 -07:00
Colin Davidson
1848e0df05 use the correct frequency for the arm tsc timer 2025-07-28 15:10:42 -07:00
Colin Davidson
b88f9194d0 Merge remote-tracking branch 'live/master' into macharena 2025-07-28 14:24:46 -07:00
Jeroen van Rijn
3a7e4873cd Fix #5498
Also:
- Expands `tests/core/hash`
- Fixes bug found in `#hash(s, "murmur64")`
2025-07-25 12:00:24 +02:00
Feoramund
a0efdf26a6 mem: Clarify Buddy_Allocator requirements 2025-07-22 10:52:55 -04:00
gingerBill
19a075211f Merge pull request #5442 from jon-lipstate/table_lookup
table lookup simd intrinsic
2025-07-22 11:14:54 +01:00
gingerBill
b095dd71cb Merge branch 'master' of https://github.com/odin-lang/Odin 2025-07-20 15:32:28 +01:00
gingerBill
0dd0a3813b Fix very subtle bug in virtual.memory_block_alloc 2025-07-20 15:32:22 +01:00
gingerBill
98c2425fe0 Merge pull request #5467 from harold-b/hb.ios-subtarget-rename-iphone
Rename `iOS` subtarget to `iPhone`, add `ODIN_PLATFORM_SUBTARGET_IOS`
2025-07-20 13:22:47 +01:00
Laytan
a658cc5ef6 Merge pull request #5482 from sergeypdev/master
Disable filepath/match.odin and filepath/walk.odin compilation on js targets
2025-07-20 13:17:10 +02:00
Laytan
089d8a229c Merge pull request #5479 from wisonye/master
Fixed Index 0 is out of range 0..<0' when using '-default-to-nil-allocator' for FreeBSD/OpenBSD/NetBSD/Linux
2025-07-20 13:12:45 +02:00
Laytan
164bb52212 crypto/hash: hash_bytes_to_buffer slice result to digest size 2025-07-19 19:50:32 +02:00
sergeypdev
2fc8ca6cf5 Disable filepath/match.odin and filepath/walk.odin compilation on js
targets
2025-07-19 16:44:45 +04:00
WisonYe
4ccdb48044 Fixed the build check: ('arg' declared but not used) against the '-default-to-nil-allocator' fix for FreeBSD/OpenBSD/NetBSD/Linux. 2025-07-19 12:29:03 +12:00
WisonYe
b9f08412ae Fixed Index 0 is out of range 0..<0' when using '-default-to-nil-allocator' for Linux/OpenBSD/NetBSD. 2025-07-19 12:03:22 +12:00
WisonYe
26e4104ac9 Fixed 'Odin/core/os/os_linux.odin(1104:7) Index 0 is out of range 0..<0' when using '-default-to-nil-allocator'. 2025-07-19 11:59:18 +12:00
WisonYe
80cd080175 Fixed 'Odin/core/os/os_freebsd.odin(971:7) Index 0 is out of range 0..<0' when using '-default-to-nil-allocator'. 2025-07-19 11:54:17 +12:00
Jon Lipstate
ecd41b155d rename table_lookup to runtime_swizzle 2025-07-16 21:54:24 -07:00
connnnal
f6993a8205 Add IUnknown UUID 2025-07-17 05:00:20 +01:00