Commit Graph

18926 Commits

Author SHA1 Message Date
gingerBill
bef386b1fb Implement asm view-of parameters pred: i64, predb: u8 = pred 2026-08-12 10:33:53 +01:00
gingerBill
d4d0436a09 Merge pull request #7314 from kalsprite/max_field_align
struct layout: apply #max_field_align
2026-08-12 11:30:35 +02:00
gingerBill
e92d24e88a Merge pull request #7315 from kalsprite/mm_shuffle_value
check_builtin: don't clear the operand value on the simd success path
2026-08-12 11:30:17 +02:00
gingerBill
db41921a16 Mock out p0: u64 = %rax, p0b: u8 = p0 2026-08-12 10:20:11 +01:00
gingerBill
a87f5dd5e9 Clean up parsing for AstAsmMemoryOperand 2026-08-12 09:38:55 +01:00
gingerBill
612b25a425 Handle disp parameter correctly 2026-08-12 09:34:16 +01:00
gingerBill
a9df33e482 Virtualize the suffix handling in the llvm_backend_asm.cpp code 2026-08-12 09:31:52 +01:00
gingerBill
658fa54ee4 Support [base]:u8 type interpretations for memory operands; And determine the correct suffix to use 2026-08-12 09:30:55 +01:00
gingerBill
c80fedc070 Support [base + index<<scale] and [base + index>>scale]; Support syntax for [base]:u8 (not implemented yet) 2026-08-12 09:03:31 +01:00
kalsprite
c61cf7d684 dont clear value on ok 2026-08-11 23:37:41 -07:00
kalsprite
586f87c0e1 apply max field align 2026-08-11 23:15:29 -07:00
kalsprite
f053a40359 check_matrix_type_hint: require the element type and layout to match 2026-08-11 23:07:07 -07:00
kalsprite
419050f82a fix four more guards using && where they need || 2026-08-11 22:52:33 -07:00
kalsprite
3f7d961bf6 check enumerated array length 2026-08-11 22:39:12 -07:00
kalsprite
0dbd55168f hoist if stmt 2026-08-11 22:25:44 -07:00
kalsprite
973d90d7b1 enforce matrix size limits on mul; overflow dims 2026-08-11 21:31:36 -07:00
kalsprite
6b6bf9a8ee clarify shared fields behavior 2026-08-11 21:07:53 -07:00
kalsprite
a594c9960c reject a lane count that exceeds the bit_set limit 2026-08-11 20:55:12 -07:00
kalsprite
613067a677 make endiant types partition 2026-08-11 20:13:47 -07:00
kalsprite
2a50eaa84d improve err msgs 2026-08-11 19:52:31 -07:00
kalsprite
e31bf47913 correct error guard 2026-08-11 19:44:08 -07:00
kalsprite
fef29f0f42 reject unspec poly 2026-08-11 18:59:37 -07:00
kalsprite
882be52d66 bound constant arguments before range-checking them 2026-08-11 18:08:32 -07:00
kalsprite
0ed628b22f fix byte swap on untyped intlike types 2026-08-11 17:46:31 -07:00
kalsprite
d785843eed bitfield missing field offsets 2026-08-11 17:34:36 -07:00
kalsprite
2285f4e061 sysv abi 2026-08-11 16:53:57 -07:00
Jeroen van Rijn
549bedcff9 Merge pull request #7291 from A1029384756/master
[llvm_backend] fix duplicated name for temporary `.ll` files
2026-08-12 01:08:48 +02:00
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