<feed xmlns='http://www.w3.org/2005/Atom'>
<title>yaxpeax-x86/src/protected_mode/evex.rs, branch 2.1.1</title>
<subtitle>yaxpeax x86 decoder</subtitle>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/'/>
<entry>
<title>write `apply_disp_scale` in a mode-agnostic way</title>
<updated>2021-12-17T19:03:37+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2021-12-17T19:03:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=060fb29180f354e04ec8d48f0128433b634fa3c5'/>
<id>060fb29180f354e04ec8d48f0128433b634fa3c5</id>
<content type='text'>
`apply_disp_scale` forgot that `wrapping_mul` exists, so we don't need
to explicitly write the size of value that `mem_size` should be cast to,
in casting to/from a signed integer. taken with `.into()`, we don't need
per-architecture stubs to make evex decoding work.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`apply_disp_scale` forgot that `wrapping_mul` exists, so we don't need
to explicitly write the size of value that `mem_size` should be cast to,
in casting to/from a signed integer. taken with `.into()`, we don't need
per-architecture stubs to make evex decoding work.
</pre>
</div>
</content>
</entry>
<entry>
<title>displacements are stored as unsigned, but are functionally signed ints</title>
<updated>2021-12-17T04:01:26+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2021-12-17T03:58:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=f063f747c21548329170fd09fd09d391b2277aed'/>
<id>f063f747c21548329170fd09fd09d391b2277aed</id>
<content type='text'>
so multiplying to expand EVEX compressed offsets can overflow, and that
needs to be okay.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
so multiplying to expand EVEX compressed offsets can overflow, and that
needs to be okay.
</pre>
</div>
</content>
</entry>
<entry>
<title>reallocate OperandCode, convert disparate registers to array</title>
<updated>2021-07-02T06:54:06+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2021-07-02T06:54:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=a781322552d9fb52b7b5e51641f49f12678f682f'/>
<id>a781322552d9fb52b7b5e51641f49f12678f682f</id>
<content type='text'>
also remove redundant assignments of operand_count and some OperandSpec,
bulk-assign all registers and operands on entry to `read_instr`. this
all, taken together, shaves off about 7 cycles per decode.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
also remove redundant assignments of operand_count and some OperandSpec,
bulk-assign all registers and operands on entry to `read_instr`. this
all, taken together, shaves off about 7 cycles per decode.
</pre>
</div>
</content>
</entry>
<entry>
<title>protected-mode avx512</title>
<updated>2021-06-27T21:57:03+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2021-06-27T21:57:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=c42f84b37c9be599442a44caab289f5fdf971649'/>
<id>c42f84b37c9be599442a44caab289f5fdf971649</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
