title: ARM NEON use two D registers as a Q register
body: <p>I am trying to load neon register d0 and d1 with data from 2 different arrays and then use it as a 128bit q0 register. According to ARM NEON guide this is possible.</p>
  
  <p>"Neon registers are aliased so that the data in a Q register is the same as that in its two corresponding D registers. For example, q0 is aliased to d0 and d1, and the same data is accessible through either register type."</p>
  
  <p>Tips on what i am doing wrong would be greatly apreciated.</p>
  
  <pre><code> void combine(uint8_t * a, uint8_t * b) { //a = 0-7 b = 8 - 15
    uint8_t *c = malloc(16*sizeof(uint8_t));
  
    __asm__ (
             "ld1 {v0.8b}, [%1]\n\t"
             "ld1 {v1.8b}, [%2]\n\t"
             "st1 {v0.8h}, [%0]\n\t"
             :
             :"r" (c), "r" (a), "r" (b)
             :
             );
    int i;
    for (i = 0; i &lt; 16; i++) {
      printf("%d\t", c[i]); //output 1-7 0 0 0...
    }
  }
  </code></pre>