title: Neon intrinsics with complex numbers
body: <p>I have a lot of calculations with complex numbers (usually an array containing a struct consisting of two floats to represent im and re; see below) and want to speed them up with the NEON C intrinsics. It would be awesome if you could give me an example of how to speed up things like this:</p>
  
  <pre><code>for(n = 0;n &lt; 1024;n++,p++,ptemp++){  // get cir_abs, also find the biggest point (value and location).
      abs_squared = (Uns32)(((Int32)(p-&gt;re)) * ((Int32)(p-&gt;re)) 
                    + ((Int32)(p-&gt;im)) * ((Int32)(p-&gt;im)));
      // ...
  }
  </code></pre>
  
  <p>p is an array of this kind:</p>
  
  <pre><code>typedef struct {
      Int16 re;
      Int16 im;
  } Complex;
  </code></pre>
  
  <p>I already read through chapter 12 of "ARM C Language Extensions" but still have problems in understanding how to load and store my kind of construct here to do the calculations on it.</p>