URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 1008 |
Rev 1765 |
.file "memset.S"
|
.file "memset.S"
|
|
|
.section .text
|
.section .text
|
.global _memset
|
.global _memset
|
.type _memset,@function
|
.type _memset,@function
|
_memset:
|
_memset:
|
movm [d2,d3,a2,a3],(sp)
|
movm [d2,d3,a2,a3],(sp)
|
mov d0,d3
|
mov d0,d3
|
mov d1,d2
|
mov d1,d2
|
mov (28,sp),a1
|
mov (28,sp),a1
|
mov d3,a0
|
mov d3,a0
|
#ifndef __OPTIMIZE_SIZE__
|
#ifndef __OPTIMIZE_SIZE__
|
cmp 3,a1
|
cmp 3,a1
|
bls .L41
|
bls .L41
|
btst 3,d3
|
btst 3,d3
|
bne .L41
|
bne .L41
|
extbu d2
|
extbu d2
|
mov d2,d1
|
mov d2,d1
|
asl 8,d1
|
asl 8,d1
|
or d2,d1
|
or d2,d1
|
mov d1,d0
|
mov d1,d0
|
asl 16,d0
|
asl 16,d0
|
or d0,d1
|
or d0,d1
|
cmp 15,a1
|
cmp 15,a1
|
bls .L36
|
bls .L36
|
.L33:
|
.L33:
|
setlb
|
setlb
|
mov d1,(a0)
|
mov d1,(a0)
|
inc4 a0
|
inc4 a0
|
mov d1,(a0)
|
mov d1,(a0)
|
inc4 a0
|
inc4 a0
|
mov d1,(a0)
|
mov d1,(a0)
|
inc4 a0
|
inc4 a0
|
mov d1,(a0)
|
mov d1,(a0)
|
inc4 a0
|
inc4 a0
|
add -16,a1
|
add -16,a1
|
cmp 15,a1
|
cmp 15,a1
|
lhi
|
lhi
|
.L36:
|
.L36:
|
cmp 3,a1
|
cmp 3,a1
|
bls .L41
|
bls .L41
|
.L37:
|
.L37:
|
setlb
|
setlb
|
mov d1,(a0)
|
mov d1,(a0)
|
inc4 a0
|
inc4 a0
|
add -4,a1
|
add -4,a1
|
cmp 3,a1
|
cmp 3,a1
|
lhi
|
lhi
|
#endif
|
#endif
|
.L41:
|
.L41:
|
cmp 0,a1
|
cmp 0,a1
|
beq .L47
|
beq .L47
|
.L46:
|
.L46:
|
setlb
|
setlb
|
movbu d2,(a0)
|
movbu d2,(a0)
|
inc a0
|
inc a0
|
sub 1,a1
|
sub 1,a1
|
lne
|
lne
|
.L47:
|
.L47:
|
mov d3,a0
|
mov d3,a0
|
ret [d2,d3,a2,a3],16
|
ret [d2,d3,a2,a3],16
|
.Lfe1:
|
.Lfe1:
|
.size _memset,.Lfe1-_memset
|
.size _memset,.Lfe1-_memset
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.