          "sub $2, %0                     \n\t"
          " jg 1b                         \n\t"
          : "+r" (h), "+r" (blk1), "+r" (blk2)
--        : "r" ((long)stride)
-+        : "r" ((long)stride), "m" (bone)
+-        : "r" ((x86_reg)stride)
++        : "r" ((x86_reg)stride), "m" (bone)
      );
  }
  

@@ -26,7 +26,6 @@
     double c = 2.0 / (len-1.0);
     int n2 = len>>1;
     long i = -n2*sizeof(int32_t);
-    long j =  n2*sizeof(int32_t);
     asm volatile(
         "movsd   %0,     %%xmm7 \n\t"
         "movapd  %1,     %%xmm6 \n\t"

     );
     if(len&1)
@@ -84,9 +83,11 @@
         x86_reg i = -len*sizeof(double);
         if(j == lag-2) {
             asm volatile(
-                "movsd     %6,     %%xmm0 \n\t"
