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
|
ad1ef6328d
|
Remove debug print
|
2026-08-17 19:58:00 +01:00 |
|
gingerBill
|
52ea617143
|
Minor fixes
|
2026-08-17 19:20:32 +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
|
c2dfcb3c28
|
Remove debug printing
|
2026-08-17 13:10:28 +01:00 |
|
gingerBill
|
5fe724bff3
|
Remove f suffix e.g. %flags.z rather than %flags.zf
|
2026-08-17 13:00:18 +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
|
4f82bed1f7
|
Hide debug printing for LLVM's ASM IR
|
2026-08-13 01:21:38 +01:00 |
|
gingerBill
|
43f078aedc
|
Infer asm #side_effects where possible from the mnemonics
|
2026-08-12 14:52:37 +01:00 |
|
gingerBill
|
ecb4495e81
|
Clobber manually specified registers
|
2026-08-12 14:29:59 +01:00 |
|
gingerBill
|
2300a48782
|
Infer #clobber memory and #clobber cc from the mnemonics directly
|
2026-08-12 12:45:48 +01:00 |
|
gingerBill
|
bef386b1fb
|
Implement asm view-of parameters pred: i64, predb: u8 = pred
|
2026-08-12 10:33:53 +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 |
|
gingerBill
|
6a20d21358
|
Add extra checks for asm memory operand scale in frontend and backend
|
2026-08-11 16:00:03 +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
|
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 |
|