dragon-nx32: Optimize uzero for large counts
authorTormod Volden <debian.tormod@gmail.com>
Fri, 5 Jun 2015 12:07:23 +0000 (14:07 +0200)
committerAlan Cox <alan@linux.intel.com>
Fri, 5 Jun 2015 14:11:13 +0000 (15:11 +0100)
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Kernel/platform-dragon-nx32/usermem_sam.s

index de4ff28..b18089f 100644 (file)
@@ -124,14 +124,23 @@ uputl:
 
 __uzero:
        pshs y,cc
-       lda #0
        ldy 5,s
        orcc #0x10
        jsr map_process_always
-uzloop:
+       tfr y,d
+       clra
+       lsrb            ; odd count?
+       bcc evenc
        sta ,x+
        leay -1,y
+       beq zdone
+evenc:
+       clrb
+uzloop:
+       std ,x++
+       leay -2,y
        bne uzloop
+zdone:
        jsr map_kernel
        ldx #0
        puls y,cc,pc