<div class="gmail_quote">On 6 January 2012 05:27, Walter Bright <span dir="ltr"><<a href="mailto:newshound2@digitalmars.com">newshound2@digitalmars.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 1/5/2012 7:07 PM, Manu wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The only thing the language needs to think about is a single typeless, 128bit,<br>
16 byte aligned value.<br>
</blockquote>
<br></div>
Currently, you can do this on 64 bit Linux:<br>
<br>
  union V128<br>
  {<br>
    void[16] v;<br>
    real dummy;<br>
  }<br>
<br>
as reals are aligned on 16 byte boundaries. I wonder how far that can be pushed.<br>
</blockquote></div><br><div>You still haven't expressed the concept of the SIMD register anywhere in the language. The code gen needs to assign XMM regs, and schedule all appropriate loads/stores/etc...</div>