<feed xmlns='http://www.w3.org/2005/Atom'>
<title>antcc/src/t_aarch64_isel.c, branch trunk</title>
<subtitle>A little C compiler</subtitle>
<id>https://git.lemon.rip/antcc/atom?h=trunk</id>
<link rel='self' href='https://git.lemon.rip/antcc/atom?h=trunk'/>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/'/>
<updated>2026-04-12T09:51:25+00:00</updated>
<entry>
<title>aarch64: fix stack frame layout, again</title>
<updated>2026-04-12T09:51:25+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-04-12T09:49:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=f13b3021eb273af3093a498fb3b09271546ae3cc'/>
<id>urn:sha1:f13b3021eb273af3093a498fb3b09271546ae3cc</id>
<content type='text'>
Turns out hardware enforces SP 16-bit alignment in every SP relative
load/store, but QEMU doesn't emulate this.
</content>
</entry>
<entry>
<title>aarch64 handle more cases of stack relative addressing</title>
<updated>2026-04-09T07:31:25+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-04-09T07:31:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=2c777a84d54fec374f95034d2b823d92be6e8658'/>
<id>urn:sha1:2c777a84d54fec374f95034d2b823d92be6e8658</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement basic aarch64 struct arg passing ABI</title>
<updated>2026-04-08T08:26:18+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-04-08T08:26:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=8b79b61ae78c91c069447331ed64d400187bdd77'/>
<id>urn:sha1:8b79b61ae78c91c069447331ed64d400187bdd77</id>
<content type='text'>
- Missing: vaargs, &gt;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.
</content>
</entry>
<entry>
<title>aarch64 struct arg passing ABI wip</title>
<updated>2026-03-25T15:36:29+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-25T15:36:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=79d6ac719042371d255ed1cf412e3232d13d1e56'/>
<id>urn:sha1:79d6ac719042371d255ed1cf412e3232d13d1e56</id>
<content type='text'>
</content>
</entry>
<entry>
<title>style: change uvlong -&gt; u64int, vlong -&gt; s64int</title>
<updated>2026-03-22T21:00:35+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-22T21:00:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=7c5dd45eca377a3b675b6f0d4a9331bc3f971ac9'/>
<id>urn:sha1:7c5dd45eca377a3b675b6f0d4a9331bc3f971ac9</id>
<content type='text'>
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 -&gt; u/s16int, maybe.
</content>
</entry>
<entry>
<title>aarch64: rem/urem, bswap*, arg bugfix</title>
<updated>2026-03-22T18:25:46+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-22T18:25:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=cbca5355c0c0b1910735b1430e2552855a2aa5c7'/>
<id>urn:sha1:cbca5355c0c0b1910735b1430e2552855a2aa5c7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>IR: add 3rd operand to Instr</title>
<updated>2026-03-22T09:49:26+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-21T21:20:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=79874c83bf76a5b3efd3d558933b90d9b53b829e'/>
<id>urn:sha1:79874c83bf76a5b3efd3d558933b90d9b53b829e</id>
<content type='text'>
The motivation is for aarch64 msub/madd instrs, for isel to produce. But
it should be useful for other things too.
</content>
</entry>
<entry>
<title>Refactor: use typedefs and CamelCase for aggregate types</title>
<updated>2026-03-18T10:33:41+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-18T10:33:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=1d9e19fb3bb941cdc28e9d4c3063d3e213fd8312'/>
<id>urn:sha1:1d9e19fb3bb941cdc28e9d4c3063d3e213fd8312</id>
<content type='text'>
Looks nicer
</content>
</entry>
<entry>
<title>REFACTOR: finish renaming</title>
<updated>2026-03-17T15:10:00+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-17T12:43:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=3eeb6f219e4d32160fa10895b57a8ddfefff5ff7'/>
<id>urn:sha1:3eeb6f219e4d32160fa10895b57a8ddfefff5ff7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>REFACTOR: move sources to src/</title>
<updated>2026-03-17T12:22:00+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-17T12:22:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=a8d6f8bf30c07edb775e56889f568ca20240bedf'/>
<id>urn:sha1:a8d6f8bf30c07edb775e56889f568ca20240bedf</id>
<content type='text'>
</content>
</entry>
</feed>
