<feed xmlns='http://www.w3.org/2005/Atom'>
<title>antcc/amd64/emit.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>2025-12-12T16:40:35+00:00</updated>
<entry>
<title>s/amd64/x86_64/</title>
<updated>2025-12-12T16:40:35+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-12T16:40:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=24bcc929477751b056e81e7772dc2bb3d11ce4a5'/>
<id>urn:sha1:24bcc929477751b056e81e7772dc2bb3d11ce4a5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>emit: turn ADD -imm into SUB imm</title>
<updated>2025-12-12T11:04:38+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-12T11:04:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=3cd8e39ff61217a37b41cee47f2682f5291317d6'/>
<id>urn:sha1:3cd8e39ff61217a37b41cee47f2682f5291317d6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>amd64/emit: change instr desc table a little</title>
<updated>2025-12-12T09:46:55+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-12T09:46:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=8b5570c855d58ea75d991d027040eb351ffadb80'/>
<id>urn:sha1:8b5570c855d58ea75d991d027040eb351ffadb80</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rename arraylength macro -&gt; countof</title>
<updated>2025-12-11T19:43:24+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-11T19:43:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=88652eeb10cd9381aafb2d55e9474bb0799630b1'/>
<id>urn:sha1:88652eeb10cd9381aafb2d55e9474bb0799630b1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>parallel move; implement reg&lt;-&gt;stack swp</title>
<updated>2025-12-10T20:16:54+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-10T20:16:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=97882e8d32fd99e1edaf5361bfd3b6852dbb1a3d'/>
<id>urn:sha1:97882e8d32fd99e1edaf5361bfd3b6852dbb1a3d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>misc fixes</title>
<updated>2025-12-10T08:57:22+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-10T08:57:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=15cf067c4e65c1728c48ab049d48219daa436265'/>
<id>urn:sha1:15cf067c4e65c1728c48ab049d48219daa436265</id>
<content type='text'>
</content>
</entry>
<entry>
<title>amd64: fix wrong condition code being used for float gth</title>
<updated>2025-12-07T11:32:51+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-07T11:32:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=66a58cee57b5b3025d441d84e9e0b1df2885118e'/>
<id>urn:sha1:66a58cee57b5b3025d441d84e9e0b1df2885118e</id>
<content type='text'>
ughh
</content>
</entry>
<entry>
<title>amd64: use XORPS for floating point negation</title>
<updated>2025-12-07T11:29:27+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-07T11:29:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=4d4e61e82cd693d2800bf409c8e3dde1ac2b75a5'/>
<id>urn:sha1:4d4e61e82cd693d2800bf409c8e3dde1ac2b75a5</id>
<content type='text'>
Previously `neg x` was being turned into `sub 0, x`. But this gives the
wrong result for zero/negative zero (-0.0 == -0.0 but 0.0 - 0.0 == 0.0),
so it wasn't IEEE compliant or correct. Do what every other compiler
does instead and flip the sign bit with an exclusive or.

Should implement someway of deduplicating small data constants like the
ones used here though.
</content>
</entry>
<entry>
<title>amd64: fix pseudo-push/pop float reg</title>
<updated>2025-12-05T18:11:15+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-05T18:11:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=bb3bc012c9349c05299069ec19d6bee4abacfb77'/>
<id>urn:sha1:bb3bc012c9349c05299069ec19d6bee4abacfb77</id>
<content type='text'>
With add/sub flags can be trashed which can result in miscompilations,
use lea. This shouldn't even exist, need to get rid of xsave/xrestore,
but for now fix this kludge
</content>
</entry>
<entry>
<title>amd64: handle unoredered float cmps</title>
<updated>2025-12-05T18:10:37+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-05T18:10:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=e0e6650883ce3fe9c96c0f1b1770a19de33faacc'/>
<id>urn:sha1:e0e6650883ce3fe9c96c0f1b1770a19de33faacc</id>
<content type='text'>
</content>
</entry>
</feed>
