Commit Graph

19049 Commits

Author SHA1 Message Date
A1029384756
a08682bcd3 [llvm_backend] fix duplicated name for .ll files 2026-08-11 16:30:35 -04:00
gingerBill
94d188c75f Merge pull request #7269 from kalsprite/simd_fixes
remove dead simd_rem
2026-08-11 21:44:53 +02:00
gingerBill
73424d60e0 Merge pull request #7289 from Znarf64/enum-value-init-doc
Use enum value init expression instead of numeric value in doc format
2026-08-11 21:44:32 +02:00
gingerBill
21ad041232 Handle prefixes better 2026-08-11 17:44:55 +01:00
gingerBill
e31bacd664 Check memory operand parameters better 2026-08-11 16:37:55 +01:00
gingerBill
6a20d21358 Add extra checks for asm memory operand scale in frontend and backend 2026-08-11 16:00:03 +01:00
gingerBill
a76664ed2a Improve error messages for immediate values and explain how far out they are in terms of bits too. 2026-08-11 15:12:00 +01:00
gingerBill
5621cbc85a Improve scoring for operand error handling 2026-08-11 15:06:14 +01:00
gingerBill
cd6b8a9ddb Improve error messages when passing an immediate that does not fit the expect range. 2026-08-11 14:59: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
c70f717211 Correct check_asm_operand_size_class for scalar floats in vector register slots 2026-08-11 14:21: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
Mihail Moskov
8c23c01c71 minor wording tweaks 2026-08-11 15:30:00 +03:00
Mihail Moskov
9e73c20197 adds the pop procedure family for soa arrays 2026-08-11 15:21:23 +03:00
gingerBill
813f732759 Remove debug message 2026-08-11 13:09:42 +01:00
gingerBill
c717cb4ae9 Implement check_asm_operand_size_class 2026-08-11 13:08:39 +01:00
Franz Hoeltermann
a311d8f6df Use enum value init expression instead of numeric value in doc format 2026-08-11 13:51:06 +02:00
gingerBill
72867df848 Fix typos and bugs. 2026-08-11 12:23:26 +01:00
gingerBill
76808ab97f Improve did you mean for asm mnemonics and prefixes 2026-08-11 12:14:31 +01:00
gingerBill
098945c358 Fix some bugs and add "Did you mean" for the mnemonics 2026-08-11 12:10:32 +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
Jeroen van Rijn
5f321d687c Merge pull request #7284 from kalsprite/i386_sret
i386: return aggregates through the hidden pointer on System V targets
2026-08-11 12:30:19 +02:00
gingerBill
5ca7638bb2 Check asm instruction operand count 2026-08-11 11:11:53 +01:00
Jeroen van Rijn
06cad2ece4 Merge pull request #7283 from kalsprite/i386_byval
i386: pass aggregate arguments by value on the stack
2026-08-11 12:02:54 +02:00
Jeroen van Rijn
03b564a602 Merge pull request #7282 from kalsprite/riscv_padded_assert
riscv64: fix ABI classification for padded, over-aligned, and pointer-bearing structs
2026-08-11 11:57:09 +02: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
kalsprite
37e1c98b1f i386: return aggregates through the hidden pointer on System V targets 2026-08-10 22:08:15 -07:00
kalsprite
b3c254d629 i386: pass aggregate arguments by value on the stack 2026-08-10 21:48:10 -07:00
kalsprite
aec971197a riscv64: a pointer is not an integer in the FP calling convention 2026-08-10 21:34:08 -07:00
kalsprite
a50660b5bb apply the FP rules to over-aligned structs 2026-08-10 21:11:43 -07:00
kalsprite
2f39bd797d riscv abi bug 2026-08-10 20:57:47 -07:00
Jeroen van Rijn
9932b4d2d4 Merge pull request #7277 from corleypc/range-soa-array-elem-fix
Fixes range loop over array elements in soa containers
2026-08-11 03:57:56 +02:00
corley
87912a8b88 fixes range loop over array elements in soa containers 2026-08-11 03:20:13 +03:00
Nic-vwalt
9b7bc2da12 core/sys/wasm/js: support shared memory in browser APIs
Copy shared-backed views only where browser APIs reject them while preserving direct access for ordinary WebAssembly memory.

💘 Generated with OpenAlloy

Assisted-by: GPT-5.6 Sol via OpenAlloy <openalloy@waltworks.co.za>
2026-08-10 20:52:02 +02:00
Alexander Zhura
5385710fa5 Impl simd arm neon extended table lookup 2026-08-10 20:03:54 +03:00
gingerBill
3f3e69897a Check for duplicate register pinning 2026-08-10 15:03:17 +01:00
gingerBill
ebc21aad72 Fix displacement check 2026-08-10 13:50:15 +01:00
gingerBill
6b534a318e Begin abstracting out the platform specific code into a class
I know... a class. If only C++ had a nice way to package different things like Odin itself.
2026-08-10 13:41:58 +01:00
gingerBill
768fedcff4 Minor fixes to labels; restrict to amd64 usage 2026-08-10 13:21:14 +01: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
Jeroen van Rijn
1810318551 Merge pull request #7273 from alexthed1rk/fix-simd-arm-neon-table-lookup
Impl fix simd arm neon table lookup on be
2026-08-10 13:28:24 +02:00
Alexander Zhura
59b09aa559 Impl fix simd arm neon table lookup on be 2026-08-10 14:07:05 +03:00
gingerBill
cee5bd79e0 Fix pinning logic for asm registers 2026-08-10 12:06:28 +01: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
gingerBill
b4da67c6af Ignore the AsmTemplateEntityDecl_Memory parameters for the time being 2026-08-09 23:51:14 +01:00
gingerBill
22f2e2ac78 Try to lower to LLVM IR from Odin's asm template syntax 2026-08-09 23:38:36 +01:00
gingerBill
036e38442b Begin work on lb_emit_asm_template_call 2026-08-09 21:55:36 +01:00