title: Arithmetic operations on 64-Bit double values using ARM Neon Intrinsic's in ARM64
body: <p>I'm trying to implement a simple 64 Bit double addition operation using ARM Neon. I've come across <a href="https://stackoverflow.com/questions/36052564/does-arm-support-simd-operations-for-64-bit-floating-point-numbers">this Question</a> but there was no sample implementation using ARM intrinsic available in the answer. So any Help in providing a complete example is greatly appreciated. Here is what i have tried so far by using integer type registers.</p>
  
  <p>Side Note:</p>
  
  <p>Please note that i'm using <a href="https://github.com/intel/ARM_NEON_2_x86_SSE/blob/master/ReadMe.md" rel="nofollow noreferrer">intel/ARM_NEON_2_x86_SSE</a> library for simulating this ARM Neon code using SSE instructions. Should i switch to native ARM neon to test this code?</p>
  
  <pre><code>int main()
  {
      double Val1[2] = { 2.46574621,0.46546221};
      double Val2[2] = { 2.63565654,0.46574621};
      double Sum[2] = { 0.0,0.0 };
      double Sum_C[2] = { 0.0,0.0};   
  
      vst1q_s64(Sum,                      //Store int64x2_t
          vaddq_s64(                      //Add   int64x2_t
              vld1q_s64(&amp;(Val1[0])),      //Load  int64x2_t
              vld1q_s64(&amp;(Val2[0])) ));   //Load  int64x2_t
  
      for (size_t i = 0; i &lt; 2; i++)
      {
          Sum_C[i] = Val1[i] + Val2[i];
          if (Sum_C[i] != Sum[i])
          {
              cout &lt;&lt; "[Error]    Sum : " &lt;&lt; Sum[i] &lt;&lt; "  !=  " &lt;&lt; Sum_C[i] &lt;&lt; "\n";
          }
          else
              cout &lt;&lt; "[Passed]   Sum : " &lt;&lt; Sum[i] &lt;&lt; "  ==  " &lt;&lt; Sum_C[i] &lt;&lt; "\n";
      }  
  
      cout &lt;&lt; "\n";
  }
  </code></pre>
  
  <hr>
  
  <pre><code>[Error] Sum : -1.22535e-308     !=  5.1014
  [Error] Sum : 1.93795e+307      !=  0.931208
  </code></pre>