<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div>Yes, I noticed that the max value is 43459 after I spent the effort to add an encoder :(<div>But we can potentially combine the modrm_type with instructionIDs to fit into a single 16-bit number, thus saving 8-bit for each entry.</div><div><br></div><div>Let me know whether that is worth a try.</div><div><br></div><div>I will look into how to uniquely the ModRM decision table if possible. Do you have specific suggestion on how to?</div><div><br></div><div>Thanks,</div><div>Manman</div><div><br></div><div><div><div>On Sep 10, 2012, at 7:09 PM, Craig Topper <<a href="mailto:craig.topper@gmail.com">craig.topper@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Far as I can tell there's no reason you can't just change the existing index to 16-bits. The largest index is 43459. I'd rather to see effort spent uniquifying the ModRM decision table which will provide a much larger bang.<br>
<br><div class="gmail_quote">On Mon, Sep 10, 2012 at 12:28 PM, Manman Ren <span dir="ltr"><<a href="mailto:mren@apple.com" target="_blank">mren@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
TableGen: reduce the size of ContextDecision tables in X86GenDisassemblerTables<br>
by adding an encoder for instructionIDs. The main motivation is that in 83% of<br>
the cases, the value is zero, so we should be able to use a 16-bit index<br>
into the encoder and the encoder will translate the index into the actual<br>
32-bit value.<br>
<br>
Later on, we may combine the modrm_type with instructionIDs to fit into a single<br>
16-bit number.<br>
<br>
The size of libLTO in a Release build is reduced by 200k. The downside is one<br>
more memory access to the encoder when decoding the instruction ID.<br>
<br>
Thanks for reviewing the patch! Comments are greatly appreciated.<br>
<span class="HOEnZb"><font color="#888888"><br>
Manman<br>
<br>
</font></span><br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>~Craig<br>
</blockquote></div><br></div></body></html>