Finish, test and optimize it. And port to 32bits systems. It it a huge amount of work.<br><br><br><div class="gmail_quote">On Thu, Mar 11, 2010 at 9:29 PM, Jerry Maine - KF5ADY <span dir="ltr">&lt;<a href="mailto:crashfourit@gmail.com">crashfourit@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


  

<div bgcolor="#ffffff" text="#000000">
And what needs to be done to get the global allocator to work?<br>
<br>
Rodrigo Kumpera wrote:
<blockquote type="cite"><div><div></div><div class="h5">Hi Sergei,<br>
  <br>
  <div class="gmail_quote">On Thu, Mar 11, 2010 at 8:30 PM, Sergei
Dyshel <span dir="ltr">&lt;<a href="mailto:qyron.private@gmail.com" target="_blank">qyron.private@gmail.com</a>&gt;</span>
wrote:<br>
  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hello,<br>
I&#39;m doing some research on vectorization using Mono. I&#39;ve noticed that<br>
code generated by Mono&#39;s JIT contains many unnecessary memory loads<br>
and stores. Here is simple example, the full code is attached:<br>
    <br>
public static unsafe int sum(int* a, int size) {<br>
 Vector4i temp = new Vector4i();<br>
 Vector4i* p = (Vector4i*) a;<br>
 for (int i = 0; i &lt; size/4; i++) {<br>
   temp += *p;<br>
   p += 1;<br>
 }<br>
 return temp.X + temp.Y + temp.Z + temp.W;<br>
}<br>
    <br>
  </blockquote>
  <div><br>
 <br>
  </div>
  </div>
The problem you&#39;re seen of going to memory when not needed is due to
the fact that<br>
mono lacks a working global register allocator. If you use a value in a
single basic block,<br>
you&#39;ll notice that it&#39;s kept in memory the whole time.<br>
  <br>
We don&#39;t eliminate a lot of redundancies, even under SSA, because our
JIT doesn&#39;t know how<br>
to handle SIMD ops under that form. It&#39;s an open problem requiring some
work. The same<br>
applies to our global register allocator.<br>
  </div></div><pre><hr size="4" width="90%">
_______________________________________________
Mono-devel-list mailing list
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a>
  </pre>
</blockquote>
<br>
</div>

</blockquote></div><br>