diff --git a/kernel/x86/rot_sse2.S b/kernel/x86/rot_sse2.S index 8ec1d44bb..e9c5ba1ef 100644 --- a/kernel/x86/rot_sse2.S +++ b/kernel/x86/rot_sse2.S @@ -859,6 +859,10 @@ .L50: movl N, I + cmpl $0, INCX + je .L56 + cmpl $0, INCY + je .L56 sarl $2, I jle .L55 ALIGN_3 diff --git a/kernel/x86/zrot_sse.S b/kernel/x86/zrot_sse.S index d8d01009e..d10183f73 100644 --- a/kernel/x86/zrot_sse.S +++ b/kernel/x86/zrot_sse.S @@ -1285,6 +1285,12 @@ .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