linux/arch/alpha/lib/ev6-clear_page.S
<<
>>
Prefs
   1/*
   2 * arch/alpha/lib/ev6-clear_page.S
   3 *
   4 * Zero an entire page.
   5 */
   6
   7        .text
   8        .align 4
   9        .global clear_page
  10        .ent clear_page
  11clear_page:
  12        .prologue 0
  13
  14        lda     $0,128
  15        lda     $1,125
  16        addq    $16,64,$2
  17        addq    $16,128,$3
  18
  19        addq    $16,192,$17
  20        wh64    ($16)
  21        wh64    ($2)
  22        wh64    ($3)
  23
  241:      wh64    ($17)
  25        stq     $31,0($16)
  26        subq    $0,1,$0
  27        subq    $1,1,$1
  28
  29        stq     $31,8($16)
  30        stq     $31,16($16)
  31        addq    $17,64,$2
  32        nop
  33
  34        stq     $31,24($16)
  35        stq     $31,32($16)
  36        cmovgt  $1,$2,$17
  37        nop
  38
  39        stq     $31,40($16)
  40        stq     $31,48($16)
  41        nop
  42        nop
  43
  44        stq     $31,56($16)
  45        addq    $16,64,$16
  46        nop
  47        bne     $0,1b
  48
  49        ret
  50        nop
  51        nop
  52        nop
  53
  54        .end clear_page
  55