<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinycc/x86_64-asm.h, branch main</title>
<subtitle>Tiny C Compiler by Fabrice Bellard Git mirror of the final release by Bellard, discarding all changes after. The repository at https://repo.or.cz/tinycc.git has become untrustworthy. Also the tcc sources have become tainted with AI slop.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/'/>
<entry>
<title>x86-64-asm: Fix mov im64,rax encoding</title>
<updated>2017-02-22T23:16:25+00:00</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2017-02-22T23:16:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=3e4c296ebab341bbe95974e39b589ea821f02789'/>
<id>3e4c296ebab341bbe95974e39b589ea821f02789</id>
<content type='text'>
the avoidance of mov im32-&gt;reg64 wasn't working when reg64 was rax.
While fixing this also fix instructions which had the REX prefix
hardcoded in opcode and so didn't support extended registers which
would have added another REX prefix.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the avoidance of mov im32-&gt;reg64 wasn't working when reg64 was rax.
While fixing this also fix instructions which had the REX prefix
hardcoded in opcode and so didn't support extended registers which
would have added another REX prefix.
</pre>
</div>
</content>
</entry>
<entry>
<title>x86-64-asm: Implement cmpxchg16b</title>
<updated>2016-12-15T16:47:10+00:00</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-08-08T18:28:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=9e0af6d2b513ed7ee2f6221bbdf85a8e54e00fc1'/>
<id>9e0af6d2b513ed7ee2f6221bbdf85a8e54e00fc1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>x86-64-asm: Fix ltr/str and push/pop operands</title>
<updated>2016-12-15T16:47:10+00:00</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-08-06T21:19:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=c0368604e196d53b281cd2aceb140b5facd36ed7'/>
<id>c0368604e196d53b281cd2aceb140b5facd36ed7</id>
<content type='text'>
str accepts rm16/r32/r64, and push/pop defaults to 64 when given
memory operands (to 32 on i386).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
str accepts rm16/r32/r64, and push/pop defaults to 64 when given
memory operands (to 32 on i386).
</pre>
</div>
</content>
</entry>
<entry>
<title>x86-asm: Implement prefetchw opcode</title>
<updated>2016-12-15T16:47:08+00:00</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-07-11T20:06:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=10e4db45dca082b6e936c5540d9f68156b3a8e79'/>
<id>10e4db45dca082b6e936c5540d9f68156b3a8e79</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>x86-asm: Fix lar opcode operands</title>
<updated>2016-12-15T16:47:08+00:00</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-07-11T19:41:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=5692716770e9e2e733d0e7ab6ce0bd70cb830aba'/>
<id>5692716770e9e2e733d0e7ab6ce0bd70cb830aba</id>
<content type='text'>
lar can accept multiple sizes as well (wlx), like lsl.  When using
autosize it's important to look at the destination operand first;
when it's a register that one determines the size, not the input
operand.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
lar can accept multiple sizes as well (wlx), like lsl.  When using
autosize it's important to look at the destination operand first;
when it's a register that one determines the size, not the input
operand.
</pre>
</div>
</content>
</entry>
<entry>
<title>x86-asm: More opcodes</title>
<updated>2016-12-15T16:47:08+00:00</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-07-11T19:11:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=6a5ec8cb3cce7399facad79f0cb1513018220b84'/>
<id>6a5ec8cb3cce7399facad79f0cb1513018220b84</id>
<content type='text'>
Some new opcodes and some aliases: ljmp[wl], prefetch{nta,t0,t1,t2},
bswap[lq], sysretq, swapgs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some new opcodes and some aliases: ljmp[wl], prefetch{nta,t0,t1,t2},
bswap[lq], sysretq, swapgs.
</pre>
</div>
</content>
</entry>
<entry>
<title>x86-asm: Add [sl][ig]dtq opcodes</title>
<updated>2016-12-15T16:47:08+00:00</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-07-11T17:57:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=d9d029006cc40b22c1555bade4d4048749537c21'/>
<id>d9d029006cc40b22c1555bade4d4048749537c21</id>
<content type='text'>
GAS has alias lgdtq for lgdt (similar for saves and GDT).  It doesn't
have the same for LDT.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GAS has alias lgdtq for lgdt (similar for saves and GDT).  It doesn't
have the same for LDT.
</pre>
</div>
</content>
</entry>
<entry>
<title>x86-asm: Implement fxrstorq and fxsaveq</title>
<updated>2016-12-15T16:47:08+00:00</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-07-11T16:53:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=f6c1eb10e2b1f61210484958b181df20c6b0cad2'/>
<id>f6c1eb10e2b1f61210484958b181df20c6b0cad2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>x86-asm: Implement clflush opcode</title>
<updated>2016-12-15T16:47:08+00:00</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-07-11T15:25:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=7e515466246b30f02867fc1f1902dea706ff31af'/>
<id>7e515466246b30f02867fc1f1902dea706ff31af</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>x86-64-asm: More opcodes</title>
<updated>2016-12-15T16:47:07+00:00</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-06-30T14:14:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=920474115c3182b19008598b0def86cb8fdf1318'/>
<id>920474115c3182b19008598b0def86cb8fdf1318</id>
<content type='text'>
Implement some more opcodes, syscall, sysret, lfence, mfence, sfence.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement some more opcodes, syscall, sysret, lfence, mfence, sfence.
</pre>
</div>
</content>
</entry>
</feed>
