Commit Graph
61 Commits
Author SHA1 Message Date
Florian Morel 8c0535840e add missing 512bit vmovntdq(a) 2026-09-24 20:41:30 +02:00
gingerBill b703f33d22 asm: Give good error message when trying to use condition code identifiers that are not defined, even giving hints as to what you should define them as. 2026-09-08 10:37:29 +01:00
gingerBill 773383879a Fix #7521 - check for target feature for parameters not being enabled and then labelled correctly 2026-09-07 13:04:41 +01:00
gingerBill 6455ea5535 Correctly handle dealing with in and out mnemonics which have loads of implicit operands 2026-09-07 12:50:20 +01:00
gingerBill 3f873d656c Check for non allocateable registers and disallow them to be pinned to output parameters 2026-09-07 12:26:38 +01:00
gingerBill 07b5c2ee0f Support enable_target_feature and require_target_feature for asm templates 2026-08-31 16:39:17 +01:00
gingerBill df3b988db8 asm: add new operand kind for lanes (arm64) 2026-08-31 15:45:44 +01:00
gingerBill c789811597 Add a form transfer bytes check for memory operands 2026-08-31 15:15:46 +01:00
gingerBill 210defa21b Handle system registers and conditional branching instructions correctly. 2026-08-31 09:55:01 +01:00
gingerBill 7773596beb Handle status snapshot style instructions 2026-08-30 18:03:26 +01:00
gingerBill 80e9ec0e53 Reformat the instruction table 2026-08-29 19:38:44 +01:00
gingerBill 87b9b39749 Begin integrating arm64 into the Odin compiler 2026-08-27 11:39:23 +01:00
gingerBill d805730c67 Correct cpp-gen.odin files 2026-08-27 10:59:54 +01:00
gingerBill f7f3d3f198 asm: reenable riscv64 2026-08-25 19:30:38 +01:00
gingerBill 032566714c asm: correctly handle flags in the CFG 2026-08-24 22:56:49 +01:00
gingerBill 322f59dae0 Implement a CFG for the assembler to improve the soundness of the checks 2026-08-24 21:49:32 +01:00
gingerBill 9ae9a9bf99 asm: Add support for constraint checks such as division by zero or overshifting 2026-08-24 18:18:28 +01:00
gingerBill 2f588e0329 Correct clobbering for instructions which did not write actually write to memory 2026-08-24 12:20:45 +01:00
gingerBill 39afdfc609 Begin work on improving #pure error handling 2026-08-24 12:13:24 +01:00
gingerBill c3c3aa1533 Add #pure directive for asm templates 2026-08-24 11:46:07 +01:00
kalsprite deb45f3e6a asm named slots 2026-08-23 21:34:31 -07:00
gingerBill 648c418fc4 Restrict riscv to only allow [base + disp] (i.e. disallow index*scale style things) 2026-08-21 14:31:58 +01:00
gingerBill 4a4a5045f8 Check for float register width exactly for risc-v frontend 2026-08-21 12:19:02 +01:00
gingerBill a604ddceb1 Support pseudo macro mnemonics (for RISC-V) in the frontend 2026-08-21 11:47:41 +01:00
gingerBill d0fb380c20 Support riscv _aq _rl _aqrl suffixes for mnemonics 2026-08-21 01:05:47 +01:00
gingerBill de8c0dc4fe Fix register width test for risc-v, and improve operand slot type inference for risc-v 2026-08-21 00:38:34 +01:00
gingerBill 09204e8982 Correct risc-v aliases 2026-08-20 19:48:30 +01:00
gingerBill 7a7bfea0bd Begin work on pseudo mnemonics in the checker 2026-08-20 19:12:44 +01:00
gingerBill 84f9bc76f9 Mockout inline asm for riscv 2026-08-20 14:42:42 +01:00
gingerBill baae2636b8 Add support for x86 mnenomics in and out 2026-08-20 09:53:28 +01:00
gingerBill 7638ac1bd4 Add more checks for flag clobbering 2026-08-19 14:09:46 +01:00
gingerBill 8956deb322 Check for implicitly read registers which have not be handled 2026-08-19 12:29:54 +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
gingerBill 8d0cc4d64b Clobber implicit_wr and implicit_rd 2026-08-19 11:03:50 +01:00
David Linus Briemann 36af738347 core:rexcode: regenerate x86 encoding tables 2026-08-19 09:09:58 +02:00
gingerBill 6e17e7a2de Add missing x86 instructions 2026-08-18 13:19:23 +01:00
gingerBill 18df1ed23e Correct clobber_table.odin 2026-08-18 11:44:35 +01:00
gingerBill 80d7f6462a Minor clean up 2026-08-18 11:33:49 +01:00
gingerBill 8e807fb7aa Use new clobber forms in check_asm.cpp 2026-08-18 11:23:20 +01:00
gingerBill a2bcf3177a Improve error messages for register class printing 2026-08-17 21:10:24 +01:00
gingerBill 8f2a4346fc Handle _SSE edge cases 2026-08-17 19:31:38 +01:00
gingerBill 5fe724bff3 Remove f suffix e.g. %flags.z rather than %flags.zf 2026-08-17 13:00:18 +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 08f3be70cf Add helper methods to the asm_tables_amd64.cpp 2026-08-12 21:18:10 +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