Handle INCX=0,INCY=0 case
authorMartin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Thu, 31 May 2018 10:52:04 +0000 (12:52 +0200)
committerGitHub <noreply@github.com>
Thu, 31 May 2018 10:52:04 +0000 (12:52 +0200)
Fixes #1575 (sswap/dswap failing the swap utest on x86) as suggested by atsampson.

kernel/x86/swap.S

index 54b00b3..d3cf049 100644 (file)
 /* INCX != 1 or INCY != 1 */
 
 .L14:
+       cmpl    $0, %ebx
+       jne     .L141
+       cmpl    $0, %ecx
+       jne     .L141
+/* INCX == 0 and INCY == 0 */  
+       jmp     .L27
+
+.L141  
        movl    %edx, %eax
        sarl    $2,   %eax
        jle     .L28