<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-05-21 19:42 GMT+02:00 tim Rowledge <span dir="ltr">&lt;<a href="mailto:tim@rowledge.org" target="_blank">tim@rowledge.org</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
On 21-05-2015, at 10:19 AM, Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Four 32-bit instructions loading 16-bit pieces, or one pc-relative load.<br>
&gt;<br>
&gt; So out-of-line = 12 bytes vs in-line = 16 bytes.  For me, given that ARM has always supported out-of-line, and it should have good performance, I&#39;d go for out-of-line.  But it&#39;s performance could be much worse.  Anyone have any numbers?<br>
<br>
Also no absolute need to do 64bit oops with AArch64. It will be quite happy to do 32 bit oops. So 2x 16bit chunks would be fine for both that and v7. So far as I can work out all the operations can work in 32bit quantities, even rotations/shifts/compare.<br>
<br>
And there is the hilarious concept of conditional comparisons - if the condition flags match a vector of condition flags, then do a compare of some sort and if that is true, set the flags as appropriate, otherwise set the flags to another vector. I’d love to see the logic that persuaded them to do that.<br>
<br>
I swear I spotted a WTF instruction in there somewhere.<br>
<br></blockquote><div><br></div><div>Also a ROTFL<br>I think it just matches the conversion from SmallDouble to native double that Eliot naivly coded with many more instructions.<br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
tim<br>
--<br>
tim Rowledge; <a href="mailto:tim@rowledge.org">tim@rowledge.org</a>; <a href="http://www.rowledge.org/tim" target="_blank">http://www.rowledge.org/tim</a><br>
State-of-the-art: What we could do with enough money.<br>
<br>
<br>
</blockquote></div><br></div></div>