Commit Graph

8132 Commits

Author SHA1 Message Date
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
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
gingerBill
43f078aedc Infer asm #side_effects where possible from the mnemonics 2026-08-12 14:52:37 +01:00
gingerBill
b32846bb35 Minor change to implies_side_effects 2026-08-12 14:16:10 +01:00
gingerBill
2300a48782 Infer #clobber memory and #clobber cc from the mnemonics directly 2026-08-12 12:45:48 +01:00
gingerBill
b9a7ed9942 Add amd64 clobber table to asm_tables_amd64.cpp 2026-08-12 11:33:07 +01:00
gingerBill
6bd2fd7e8b Add clobber table for x86 2026-08-12 11:25:03 +01:00
gingerBill
21ad041232 Handle prefixes better 2026-08-11 17:44:55 +01:00
gingerBill
5621cbc85a Improve scoring for operand error handling 2026-08-11 15:06:14 +01:00
gingerBill
ce6346a20f Check immediates if they support the range or are not allowed (e.g. floats) 2026-08-11 14:52:21 +01:00
gingerBill
ed2bc91596 Add some missing vector instructions to the x86 encoding table 2026-08-11 14:18:37 +01:00
gingerBill
ef21ffa285 Templatize the check_asm.cpp code ready for other architectures 2026-08-11 14:00:41 +01:00
gingerBill
c717cb4ae9 Implement check_asm_operand_size_class 2026-08-11 13:08:39 +01:00
gingerBill
b0364d2c60 Improve error message for invalid operand kinds 2026-08-11 11:56:03 +01:00
gingerBill
400203c344 Verify the asm instruction operands against the Encoding.ops 2026-08-11 11:47:48 +01:00
gingerBill
5ca7638bb2 Check asm instruction operand count 2026-08-11 11:11:53 +01:00
gingerBill
70ca5c0936 Validate the names of mnemonics, prefixes, and registers for amd64 2026-08-11 10:44:34 +01:00
gingerBill
d827be77cd Begin work on generating the AMD64 asm tables for C++ 2026-08-11 10:15:41 +01:00
Alexander Zhura
5385710fa5 Impl simd arm neon extended table lookup 2026-08-10 20:03:54 +03:00
Jeroen van Rijn
6d5dbdce13 Merge pull request #7274 from karl-zylinski/claude/grapheme-clusters-text-field-e36817
Add `text` field to `utf8.Grapheme`, fix caret translation by grapheme
2026-08-10 13:30:53 +02:00
Alexander Zhura
59b09aa559 Impl fix simd arm neon table lookup on be 2026-08-10 14:07:05 +03:00
Karl Zylinski
1f9b4c4555 Add text field to utf8.Grapheme, fix caret translation by grapheme
`decode_grapheme_iterate` already computed the text of each grapheme
cluster, but `decode_grapheme_clusters` discarded it, forcing callers to
reconstruct each cluster's range by looking ahead to the next grapheme's
`byte_index`. Store it on `Grapheme` instead; it is a slice of the input
string, so no allocation is involved.

`core:text/edit` was using `Grapheme.width` -- the number of monospace
cells -- as a byte count when moving the caret by grapheme, so it landed
in the middle of a cluster for anything wider than one byte per cell. Use
`len(Grapheme.text)`, and add a test package for the translations.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 12:27:31 +02:00
Jeroen van Rijn
d6d16b1e58 Merge pull request #7265 from harold-b/hb.fix-parser-attrib-misisng-end
Fix unparenthesized attributes missing end position in its AST node
2026-08-09 19:49:08 +02:00
Harold Brenes
046db295a6 Fix unparenthesized attributes missing end position in its AST node 2026-08-09 13:30:04 -04:00
Lucas Czerny
3ea27c6979 Update user32.odin 2026-08-09 16:49:37 +02:00
Fernando Nunes
3020cecd08 core/odin/tokenizer: fix broken double-checked lock in init 2026-08-08 20:25:52 -03:00
Alex
1b14ce9453 Impl simd arm neon table lookup 2026-08-08 18:59:07 +03:00