<feed xmlns='http://www.w3.org/2005/Atom'>
<title>antcc/x86_64, 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-03-17T12:22:00+00:00</updated>
<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>
<entry>
<title>c: static eval refactoring</title>
<updated>2026-03-14T16:46:54+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-14T16:27:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=42ce457bba06bd3607fc04700a919b6c395f22c3'/>
<id>urn:sha1:42ce457bba06bd3607fc04700a919b6c395f22c3</id>
<content type='text'>
Explicit node for static symbol (addresses). Should not break with edge
cases like the previous ad-hoc approach. And some other bugfixes
</content>
</entry>
<entry>
<title>x86_64/isel: fix edge case with branch on float add result</title>
<updated>2026-03-11T10:37:19+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-11T10:37:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=1f3ebe69478f245f69cd6f77db946226557085d2'/>
<id>urn:sha1:1f3ebe69478f245f69cd6f77db946226557085d2</id>
<content type='text'>
In `if (x + 1)` the implicit `!= 0` can be omitted for integers, because
the x86 `add` instruction sets the zero flag accordingly. But for floats
it doesn't, so applying that optimization there was wrong. Luckily it
was caught by a nullptr dereference later in `emit::Xjcc()` for the
(missing) unordered branch target, instead of miscompiling.
</content>
</entry>
<entry>
<title>fix some more cases of signed integer overflow</title>
<updated>2026-03-08T18:03:59+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-08T18:03:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=d943de389796a44e40be39ef46aa5be01013a166'/>
<id>urn:sha1:d943de389796a44e40be39ef46aa5be01013a166</id>
<content type='text'>
</content>
</entry>
<entry>
<title>x86_64/emit: fix float store zero, unsafe range check for mul immediate</title>
<updated>2026-03-08T18:03:59+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-08T17:40:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=77f78e58c94812d1ec40b57df86d2a87e6f32b41'/>
<id>urn:sha1:77f78e58c94812d1ec40b57df86d2a87e6f32b41</id>
<content type='text'>
</content>
</entry>
<entry>
<title>x86_64/isel: cleanup and fix edge cases</title>
<updated>2026-03-08T11:13:31+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-08T11:12:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=0a9b4736ca028e1637311a6cc0753bbb9351e951'/>
<id>urn:sha1:0a9b4736ca028e1637311a6cc0753bbb9351e951</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add bswap16/32/64</title>
<updated>2026-03-02T16:52:57+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-02T16:52:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=f2285400e65dafe730a073b3ca92494d72c7295b'/>
<id>urn:sha1:f2285400e65dafe730a073b3ca92494d72c7295b</id>
<content type='text'>
- frontend: __builtin_bswapX intrinsics
- backend: ObswapX instructions
</content>
</entry>
<entry>
<title>ir: make address ref hash table resizable</title>
<updated>2026-02-28T19:38:55+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-02-28T19:38:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=f06da11d8524a9eb7fe984171d4462cef8eac2e6'/>
<id>urn:sha1:f06da11d8524a9eb7fe984171d4462cef8eac2e6</id>
<content type='text'>
Would hit the limit on very large functions (thanks csmith).
</content>
</entry>
<entry>
<title>backend: fix edgecases where imm32 immediate overflows</title>
<updated>2026-02-28T08:27:07+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-02-28T08:15:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=c739270317a409ac4c4782dabd5f9ff82d200045'/>
<id>urn:sha1:c739270317a409ac4c4782dabd5f9ff82d200045</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix various warnings</title>
<updated>2026-02-24T14:47:10+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-02-24T14:47:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=9f202ac53acfac00addb5b6e4c9b1e5c7a33ea45'/>
<id>urn:sha1:9f202ac53acfac00addb5b6e4c9b1e5c7a33ea45</id>
<content type='text'>
</content>
</entry>
</feed>
