Commit Graph

18825 Commits

Author SHA1 Message Date
Jeroen van Rijn
b7944229e5 Merge pull request #7385 from kalsprite/bit_field_value_range
bitfield: a constant is range-checked only while it is untyped
2026-08-19 20:48:58 +02:00
Jeroen van Rijn
2c3a7f4502 Merge pull request #7370 from kalsprite/base_prefix_digit_count
big_int: a base prefix with only digit separators has no digits
2026-08-19 20:43:00 +02:00
kalsprite
c580e1af93 big_int: base prefix iwth only seperateors and no digits 2026-08-19 11:29:28 -07:00
kalsprite
8c239a8f43 range check bitfield fields for untyped constants 2026-08-19 10:52:58 -07:00
gingerBill
7a6f70ba31 False positives: Ignore the out pinned parameters for the time being 2026-08-19 17:34:14 +01:00
gingerBill
4df8adb017 Merge pull request #7384 from odin-lang/bill/x86-merge-tables
rexcode/x86 merge tables
2026-08-19 18:01:52 +02:00
gingerBill
ea04ce30e4 Remove dead comment 2026-08-19 16:45:23 +01:00
gingerBill
22bdf11436 Rename to instruction_table.odin 2026-08-19 16:44:42 +01:00
gingerBill
bda4c2cd95 Merge ENCODING_TABLE and CLOBBER_TABLE into a single INSTRUCTION_TABLE 2026-08-19 16:44:19 +01:00
Jeroen van Rijn
057163d1d8 Merge pull request #7383 from karl-zylinski/handle-map-fixes
Handle Map: Nicer organization + fix broken test + add test
2026-08-19 17:39:50 +02:00
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
gingerBill
7a01de6a45 Add extra tables to cpp-gen.odin 2026-08-19 16:08:02 +01: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
2873e323c7 Fix #align_stack redundancy checks 2026-08-19 14:52:35 +01:00
gingerBill
5e165d2393 Add even more diagnostics for pinned registers; and begin work on redundant #align_stack checks 2026-08-19 14:50:08 +01:00
gingerBill
7638ac1bd4 Add more checks for flag clobbering 2026-08-19 14:09:46 +01:00
gingerBill
adbd1bd930 Add code (but disablled) to warn for redundant #clobber and #volatile 2026-08-19 13:56:15 +01:00
gingerBill
d4f81b5220 Add checks to see if diverging asm templates are actually diverging 2026-08-19 13:51:28 +01:00
gingerBill
229a5164a7 Add warning for unused lables in asm templates 2026-08-19 13:17:10 +01:00
gingerBill
5917d5db6e Add error message for immediate-operand specificity 2026-08-19 13:12:15 +01:00
gingerBill
0c42447192 Add pin class/width and tie class checks 2026-08-19 13:11:08 +01:00
gingerBill
75c91feb36 Check for output parameters not used but pinned; Check for templates with observable effects but not marked as #volatile 2026-08-19 12:56:03 +01:00
gingerBill
8956deb322 Check for implicitly read registers which have not be handled 2026-08-19 12:29:54 +01:00
gingerBill
6d903e9bde Remove implicit_rd from clobber 2026-08-19 11:56:07 +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
Jeroen van Rijn
ba9011be8b Merge pull request #7381 from Kelimion/fix-7379
Let FreeBSD use default `gb_copy_file` path
2026-08-19 12:16:16 +02:00
gingerBill
8d0cc4d64b Clobber implicit_wr and implicit_rd 2026-08-19 11:03:50 +01:00
Jeroen van Rijn
910a64983d Remove duplicated size 2026-08-19 11:58:48 +02:00
gingerBill
ec81477af6 Merge branch 'master' of https://github.com/odin-lang/Odin 2026-08-19 10:42:52 +01:00
Jeroen van Rijn
f52df84ead Let FreeBSD use default gb_copy_file path
Also add some more error handling to the Linux path.

Fixes #7379
2026-08-19 10:34:18 +02:00
David Linus Briemann
6e1ae963a6 fix asm template generator lifetime 2026-08-19 09:46:10 +02: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
Jeroen van Rijn
6feca784f2 Merge pull request #7378 from Kelimion/fix-7377
Fix #7377
2026-08-19 00:50:11 +02:00
Jeroen van Rijn
ec4dd3c959 Fix #7377
Allow `(-a).x` and `(+a).x` on a Vec2

Fixes #7377
2026-08-19 00:39:55 +02:00
gingerBill
4648a78168 Fix #7376 2026-08-18 22:07:24 +01: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
gingerBill
27d00c3c1c LLVM asm backend: %gs:disp() -> %gs:disp 2026-08-18 17:18:38 +01:00
Jeroen van Rijn
a75be8e9a5 Merge pull request #7374 from nickav/nickav/fix-windows-file-notify-casing
fix FILE_NOTIFY_INFORMATION struct member casing
2026-08-18 18:10:15 +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
d06c25cada Restrict usage of asm templates to be declarations or called directly 2026-08-18 15:01:49 +01:00
gingerBill
a86e523053 Allow for inlineable asm calls 2026-08-18 14:57:34 +01:00
gingerBill
0bc9e60725 Use new inline asm for __chkstk on Windows AMD64 2026-08-18 14:44:59 +01:00
gingerBill
fd9ccd7b10 Support segment overrides on asm memory operands 2026-08-18 14:44:24 +01:00
gingerBill
12c89ee2bf Allow for [base - disp] 2026-08-18 14:11:01 +01:00