Changeset f58af46 in mainline for arch/mips32/src/asm.S


Ignore:
Timestamp:
2006-05-05T15:14:34Z (19 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c6c59ccd
Parents:
e8194664
Message:

Implemented mips memcpy (copy from gcc builtin memcpy).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/mips32/src/asm.S

    re8194664 rf58af46  
    6767memcpy_from_uspace:
    6868memcpy_to_uspace:
    69         j _memcpy
    70         nop
     69        srl     $t1,$a2,0x2
     70        beqz    $t1,1f
     71        move    $t0,$zero
     72        move    $a3,$zero
     732:     
     74        addu    $v0,$a1,$a3
     75        lw      $v1,0($v0)
     76        addiu   $t0,$t0,1
     77        addu    $v0,$a0,$a3
     78        sw      $v1,0($v0)
     79        bne     $t0,$t1,2b
     80        addiu   $a3,$a3,4
     811:     
     82        andi    $a2,$a2,0x3
     83        beqz    $a2,3f
     84        move    $a3,$zero
     85        sll     $v0,$t0,0x2
     86        addu    $t1,$a0,$v0
     87        addu    $t0,$v0,$a1
     884:     
     89        addu    $v0,$t0,$a3
     90        lbu     $a0,0($v0)
     91        addu    $v1,$t1,$a3
     92        addiu   $a3,$a3,1
     93        bne     $a3,$a2,4b
     94        sb      $a0,0($v1)
     953:     
     96        jr      $ra
     97        move    $v0,$a1
    7198
    7299memcpy_from_uspace_failover_address:
    73100memcpy_to_uspace_failover_address:
    74         j memcpy_from_uspace_failover_address
    75         nop
     101        jr      $ra
     102        move    $v0, $zero
    76103
    77104
Note: See TracChangeset for help on using the changeset viewer.