aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/t_aarch64_isel.c
Commit message (Collapse)AuthorAgeFilesLines
* aarch64: fix stack frame layout, againlemon2026-04-121-0/+5
| | | | | Turns out hardware enforces SP 16-bit alignment in every SP relative load/store, but QEMU doesn't emulate this.
* aarch64 handle more cases of stack relative addressinglemon2026-04-091-3/+17
|
* Implement basic aarch64 struct arg passing ABIlemon2026-04-081-17/+24
| | | | | | | | | | - Missing: vaargs, >2 member HFAs - Reworked the way stack allocation references are lowered. Now RSTACK persists throughout all passes until emit. This allows deferring stack frame layouting until the end in a less messy way than before, which was emiting frame-pointer relative addresses @ isel time and patching them up later in emit to account for actual stack frame layout.
* aarch64 struct arg passing ABI wiplemon2026-03-251-4/+8
|
* style: change uvlong -> u64int, vlong -> s64intlemon2026-03-221-13/+13
| | | | | Is much nicer. I don't know whether I want to do it for the other int types too. char and uchar are fine as bytes. u/short -> u/s16int, maybe.
* aarch64: rem/urem, bswap*, arg bugfixlemon2026-03-221-4/+36
|
* IR: add 3rd operand to Instrlemon2026-03-221-25/+25
| | | | | The motivation is for aarch64 msub/madd instrs, for isel to produce. But it should be useful for other things too.
* Refactor: use typedefs and CamelCase for aggregate typeslemon2026-03-181-38/+38
| | | | Looks nicer
* REFACTOR: finish renaminglemon2026-03-171-1/+1
|
* REFACTOR: move sources to src/lemon2026-03-171-0/+515