fixed #4 csrot & drot returned the wrong result when incx==incy==0 on i686 arch.
authorXianyi <traits.zhang@gmail.com>
Thu, 17 Feb 2011 19:00:58 +0000 (03:00 +0800)
committerXianyi <traits.zhang@gmail.com>
Thu, 17 Feb 2011 19:00:58 +0000 (03:00 +0800)
kernel/x86/rot_sse2.S
kernel/x86/zrot_sse.S

index 8ec1d44..e9c5ba1 100644 (file)
 
 .L50:
        movl    N,  I
+       cmpl    $0, INCX
+       je  .L56
+       cmpl    $0, INCY
+       je  .L56
        sarl    $2, I
        jle     .L55
        ALIGN_3
index d8d0100..d10183f 100644 (file)
 
 .L50:
        movl    N,  I
+//if incx ==0 || incy==0 jump to the tail      
+       cmpl    $0, INCX
+       je  .L56
+       cmpl    $0, INCY
+       je  .L56
+       
        sarl    $2, I
        jle     .L55
        ALIGN_3