#include int main() { uint32_t a[2]={0x01020304,0x05060708},b[2]={0x0,0x0},i; uint32_t *m,*m1; m=a; m1=b; //i have pointed m1 to b asm volatile ("movq (%1), %%mm0 \n" "movq %%mm0, (%0) \n" :"=r"(m1) :"r"(m) ); for (i=0;i<2;i++) printf ("m[%d]=%d, m1[%d]=%d, b[%d]=%d\n", i, m[i], i, m1[i], i, b[i]); return 0; }