Commit Graph

18505 Commits

Author SHA1 Message Date
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
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
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
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
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
gingerBill
cee5bd79e0 Fix pinning logic for asm registers 2026-08-10 12:06:28 +01: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
gingerBill
25ce7e87de Correctly type check asm template parameters 2026-08-09 18:52:57 +01:00
gingerBill
5ac28cdecd Begin work on semantically type checking asm templates 2026-08-09 18:24:56 +01:00
gingerBill
5e49e6c1a5 Parse asm template 2026-08-09 15:17:57 +01:00
gingerBill
769184db41 Merge pull request #7259 from corleypc/soa-swizzle-fix
Fixes swizzles on array elements in soa containers
2026-08-09 12:05:07 +02:00
Jeroen van Rijn
962e5a4f93 Merge pull request #7257 from michtesar/fix/type-specialization
Return false for identical specialization types
2026-08-09 12:02:17 +02:00
corley
7b45adf8e9 fixes swizzling for array elements in soa arrays/slices 2026-08-09 03:17:04 +03:00
Jeroen van Rijn
1a3d2dc091 Merge pull request #7258 from Dreamshade-1911/fix/tokenizer-keyword-lut-double-checked-lock
core/odin/tokenizer: fix broken double-checked lock in `init`
2026-08-09 01:50:20 +02:00
Fernando Nunes
3020cecd08 core/odin/tokenizer: fix broken double-checked lock in init 2026-08-08 20:25:52 -03:00
Michael Tesař
60061fe4ba Register issue 7012 regression test 2026-08-09 00:15:46 +02:00
Michael Tesař
f8a7071069 Check identical specialization 2026-08-09 00:06:30 +02:00
Michael Tesař
d01ec95ebe Create regression test 2026-08-09 00:01:14 +02:00
Jeroen van Rijn
0aaa8cf3fc Merge pull request #7256 from alexthed1rk/impl-simd-arm-neon-table-lookup
Impl simd arm neon table lookup
2026-08-08 23:01:36 +02:00
Alex
1b14ce9453 Impl simd arm neon table lookup 2026-08-08 18:59:07 +03:00
Alexander Zhura
62afbd45f8 Impl simd arm neon table lookup 2026-08-08 18:49:08 +03:00
Jeroen van Rijn
512e33e633 Merge pull request #7255 from mororo18/perf/bytes-index-any-bitset
core/bytes: optimize `index_any` with a byte bitset
2026-08-08 16:54:05 +02:00
Victor Mororó
11c9d6a3dd core/bytes: optimize index_any with a byte bitset 2026-08-08 11:05:20 -03:00
gingerBill
8ae0d9488c Merge pull request #7227 from kalsprite/poly
Improve procedure group overload scoring
2026-08-08 12:08:28 +02:00
kalsprite
3756aae0f8 incorp specialized-vs-generic poly 2026-08-07 17:58:35 -07:00
kalsprite
b475525997 Merge branch 'master' into poly 2026-08-07 17:41:30 -07:00
Jeroen van Rijn
1f5c523844 Merge pull request #7203 from maxrabin/fix/simd-grammar
Fix grammar in simd.odin doc comment
2026-08-08 01:58:27 +02:00
Jeroen van Rijn
f34a8183e8 Merge pull request #7253 from kalsprite/s575
Make redeclaration diagnostics stable under threading
2026-08-08 01:57:32 +02:00
kalsprite
42bd26cb72 switch ordering 2026-08-07 16:14:12 -07:00
kalsprite
391a862e4f make tok stable under multi-thread 2026-08-07 15:58:25 -07:00
Jeroen van Rijn
6603cb3609 Merge pull request #7252 from kalsprite/s002
fix typo in enumerated array
2026-08-08 00:28:21 +02:00
Jeroen van Rijn
c4b0084999 Merge pull request #7251 from kalsprite/s003
Validate floating-point array counts as integers
2026-08-08 00:28:04 +02:00
kalsprite
3dc7741e06 correct windows limb size 2026-08-07 15:18:46 -07:00
kalsprite
df41b93c45 fix typo 2026-08-07 15:05:35 -07:00