asm (
"pxor %1, %1 \n"
"xor %2, %2 \n"
- ".lbl2: \n"
+ "0: \n"
"movups (%4,%2),%%xmm1 \n"
"movups (%3,%2),%%xmm2 \n"
"mulps %%xmm2,%%xmm1 \n"
"addps %%xmm1,%1 \n"
"add $16,%2 \n"
"dec %5 \n"
- "jnz .lbl2 \n"
+ "jnz 0b \n"
"haddps %1,%1 \n"
"haddps %1,%1 \n"
"maxss %6,%1 \n"
"r" ((pd[x].end - pd[x].start + 1)/4),
"m" (low),
"m" (high)
- : "xmm1", "xmm2"
+ : "memory", "xmm1", "xmm2"
);
#if 0
"pxor %%xmm3, %%xmm3 \n"
/* main loop */
- ".lbl: \n"
+ "0: \n"
/* a zero is useful during unpacking */
"pxor %%xmm4, %%xmm4 \n"
"add $4, %2 \n"
"add %3, %0 \n"
"dec %1 \n"
- "jnz .lbl \n"
+ "jnz 0b \n"
/* store the values */
"movaps %%xmm0, (%4) \n"