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
|
3f873d656c
|
Check for non allocateable registers and disallow them to be pinned to output parameters
|
2026-09-07 12:26:38 +01:00 |
|
gingerBill
|
c7201725d5
|
Support %rip relative memory operands for amd64 [.label]
|
2026-09-03 18:09:23 +01:00 |
|
gingerBill
|
7dd33b5e48
|
Implement #pre/#post` memory operand forms
|
2026-08-31 18:31:37 +01:00 |
|
gingerBill
|
4f8a91092b
|
Add more MOV forms; fix liveness check for lanes
|
2026-08-31 17:51:24 +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
|
af0842343d
|
Work on trying to get the arm64 asm backend working
|
2026-08-31 11:02:06 +01:00 |
|
gingerBill
|
3d8437d152
|
Get the ARM64 frontend working
|
2026-08-31 10:23:09 +01:00 |
|
gingerBill
|
210defa21b
|
Handle system registers and conditional branching instructions correctly.
|
2026-08-31 09:55:01 +01:00 |
|
gingerBill
|
3b3bba54a8
|
Update for new mnemonics
|
2026-08-27 15:06:12 +01:00 |
|
gingerBill
|
d8cea6ceb0
|
asm: semantic checking for v[idx] (arm style)
|
2026-08-27 13:02:10 +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
|
337bb43948
|
asm: minor cleanups
|
2026-08-25 13:40:16 +01:00 |
|
gingerBill
|
b4cf9b14bd
|
asm: Implement sub-register width analysis
|
2026-08-25 12:17:06 +01:00 |
|
gingerBill
|
173443cdd1
|
Add read-before-write for flags, and fix bugs caused by typos
|
2026-08-25 10:26:27 +01:00 |
|
gingerBill
|
6f65d775c2
|
Re-add check_asm_cfg_liveness
|
2026-08-25 09:43:31 +01:00 |
|
gingerBill
|
13394e8bcd
|
asm: remove liveness backwards check as it causes way too many false positives
|
2026-08-24 23:49:23 +01:00 |
|
gingerBill
|
e093329012
|
asm: add a backward liveness check for the CFG
|
2026-08-24 23:35:41 +01:00 |
|
gingerBill
|
a9068261bf
|
Fix view-width testing for unpinned parameters in the lattice
|
2026-08-24 23:13:12 +01:00 |
|
gingerBill
|
032566714c
|
asm: correctly handle flags in the CFG
|
2026-08-24 22:56:49 +01:00 |
|
gingerBill
|
a2d9ca8697
|
Remove unneeded hash maps when you can store the data directly on the nodes
|
2026-08-24 22:25:53 +01:00 |
|
gingerBill
|
7fcf65d2c2
|
asm: General clean up of the CFG code and remove redundant calculations
|
2026-08-24 22:17:31 +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
|
b69e61983a
|
Mock out the data structures for working on a CFG for asm
|
2026-08-24 19:52:56 +01:00 |
|
gingerBill
|
3e159a4e10
|
Add #no_init suffix directive for asm specifications.
|
2026-08-24 19:10:32 +01:00 |
|
gingerBill
|
dfa473f2c8
|
Minor grammar fix in error message
|
2026-08-24 18:20:12 +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
|
9367fa2ec2
|
Even more general clean ups
|
2026-08-24 16:58:37 +01:00 |
|
gingerBill
|
670b996f91
|
Minor clean ups
|
2026-08-24 16:43:36 +01:00 |
|
gingerBill
|
13558978be
|
Fix typo
|
2026-08-24 16:40:02 +01:00 |
|
gingerBill
|
427d300562
|
asm: minor cleanups
|
2026-08-24 16:39:23 +01:00 |
|
gingerBill
|
171bdaf378
|
asm: check for undefined output parameters
|
2026-08-24 16:25:00 +01:00 |
|
gingerBill
|
e59da59826
|
Add support to check if an output is being read before it is written to; fix -vet-unused on input parameters
|
2026-08-24 16:14:25 +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
|
7ebc5c462e
|
Correct #pure checking for internal branches and effect volatility
|
2026-08-24 11:57:34 +01:00 |
|
gingerBill
|
c3c3aa1533
|
Add #pure directive for asm templates
|
2026-08-24 11:46:07 +01:00 |
|
gingerBill
|
2f2ab370e0
|
Fix the actual check for reading from a register that has not be written to yet
|
2026-08-24 10:37:59 +01:00 |
|
gingerBill
|
cebceb9bb2
|
Merge branch 'master' into asm_rip_width
|
2026-08-24 09:31:54 +01:00 |
|
kalsprite
|
b6c64c28b5
|
Diagnose in an asm template instead of aborting with SIGILL
|
2026-08-23 22:36:57 -07:00 |
|
kalsprite
|
deb45f3e6a
|
asm named slots
|
2026-08-23 21:34:31 -07:00 |
|
gingerBill
|
4247507dd5
|
- to /
|
2026-08-22 19:39:10 +01:00 |
|
gingerBill
|
7bd1c9d160
|
Improve implicit register printing for read-writes, writes, reads
|
2026-08-22 19:36:47 +01:00 |
|
gingerBill
|
a2013cfccd
|
Trim trailing whitespace on pretty printed forms
|
2026-08-22 19:00:00 +01:00 |
|
gingerBill
|
89cbcf958d
|
For forms which only take immediates or nothing at all, add a comment stating what they implicitly read and write from
|
2026-08-22 18:59:14 +01:00 |
|
gingerBill
|
0ba2328c32
|
Remove debug code
|
2026-08-22 18:48:13 +01:00 |
|
gingerBill
|
0427b18d70
|
Simplify error block logic for printing mnemonic forms
|
2026-08-22 18:44:33 +01:00 |
|