Commit Graph
71 Commits
Author SHA1 Message Date
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 acb6c1408f Remove unneeded typename usage 2026-08-21 00:39:26 +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 b82fa18cb3 Fix typo 2026-08-20 10:16:34 +01:00
gingerBill 5d873a4b8c Update assert 2026-08-20 09:58:32 +01:00
gingerBill 63918fe1fe Remove debug code 2026-08-20 09:54:50 +01:00
gingerBill baae2636b8 Add support for x86 mnenomics in and out 2026-08-20 09:53:28 +01:00
gingerBill 7a6f70ba31 False positives: Ignore the out pinned parameters for the time being 2026-08-19 17:34:14 +01: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 8d0cc4d64b Clobber implicit_wr and implicit_rd 2026-08-19 11:03:50 +01:00
gingerBill a86e523053 Allow for inlineable asm calls 2026-08-18 14:57:34 +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
gingerBill 8e807fb7aa Use new clobber forms in check_asm.cpp 2026-08-18 11:23:20 +01:00
gingerBill 582ff64bee General clean up of llvm_backend_asm.cpp code 2026-08-17 22:58:51 +01:00
gingerBill 77bedf9947 Fix scratch register pinning 2026-08-17 21:37:03 +01:00
gingerBill a2bcf3177a Improve error messages for register class printing 2026-08-17 21:10:24 +01:00
gingerBill c3b2029f64 Support asm template groups 2026-08-17 19:54:21 +01:00
gingerBill d0c3b78ece Allow (parent scope) constants within asm templates 2026-08-17 18:56:47 +01:00
gingerBill d71c25dd9b asm: add #skip N and #nop N 2026-08-17 13:36:59 +01:00
gingerBill bd95d2ae66 Add asm directive #align N 2026-08-17 13:32:28 +01:00
gingerBill 55377f71ef Support #byte directive for asm templates 2026-08-17 13:21:40 +01:00
gingerBill dd5c2f98fd Always require the results of asm templates 2026-08-17 13:05:33 +01:00
gingerBill d1f561ec88 Correct instruction_size_suffix so that the correct suffix can be selected for the instruction to adhere to AT&T syntax 2026-08-17 12:59:23 +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 cb903df235 #side_effects -> #volatile; Remove dead code 2026-08-13 10:03:00 +01:00
gingerBill c085a46185 Move #side_effects and #align_stack to the specification list 2026-08-12 23:40:57 +01:00
gingerBill 5768668af9 Add did you mean for registers 2026-08-12 20:52:26 +01:00
gingerBill 39c5e69f82 Move determine_asm_operand_kind upwards 2026-08-12 16:23:31 +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 99a128e78e Remove %any as a concept 2026-08-12 11:08:33 +01:00
gingerBill bef386b1fb Implement asm view-of parameters pred: i64, predb: u8 = pred 2026-08-12 10:33:53 +01:00
gingerBill db41921a16 Mock out p0: u64 = %rax, p0b: u8 = p0 2026-08-12 10:20:11 +01:00