diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2007-11-19 23:03:25 +0300 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2007-11-19 23:03:25 +0300 |
commit | 60bef55d30bdd165555a596138e3c9ef2a103902 (patch) | |
tree | dcb5731222130b6aedcf6d294b6e009e7fd33ab9 /newlib/libc/machine/mn10300/memset.S | |
parent | 91f2f75ac85fe7a5951c7bed59b421ab8b89ccb1 (diff) |
2007-11-19 Nick Clifton <nickc@redhat.com>
* libc/machine/mn10300/Makefile.am (CCASFLAGS): Add -Wa,--gdwarf-2.
* libc/machine/mn10300/Makefile.in: Regenerate.
* libc/machine/mn10300/memchar.S: Remove redundant labels. Add
.debug_frame section.
* libc/machine/mn10300/memcmp.S: Likewise.
* libc/machine/mn10300/memcpy.S: Likewise.
* libc/machine/mn10300/memset.S: Likewise.
* libc/machine/mn10300/strchr.S: Likewise.
* libc/machine/mn10300/strcmp.S: Likewise.
* libc/machine/mn10300/strcpy.S: Likewise.
* libc/machine/mn10300/strlen.S: Likewise.
Diffstat (limited to 'newlib/libc/machine/mn10300/memset.S')
-rw-r--r-- | newlib/libc/machine/mn10300/memset.S | 126 |
1 files changed, 79 insertions, 47 deletions
diff --git a/newlib/libc/machine/mn10300/memset.S b/newlib/libc/machine/mn10300/memset.S index 65b2ff53b..ac97e090d 100644 --- a/newlib/libc/machine/mn10300/memset.S +++ b/newlib/libc/machine/mn10300/memset.S @@ -1,63 +1,95 @@ .file "memset.S" .section .text - .global _memset + .global _memset .type _memset,@function _memset: - movm [d2,d3,a2,a3],(sp) - mov d0,d3 - mov d1,d2 - mov (28,sp),a1 - mov d3,a0 + movm [d2,d3,a2,a3], (sp) +.Lend_of_prologue: + mov d0, d3 + mov d1, d2 + mov (28, sp),a1 + mov d3, a0 #ifndef __OPTIMIZE_SIZE__ - cmp 3,a1 - bls .L41 - btst 3,d3 - bne .L41 + cmp 3, a1 + bls .L41 + btst 3, d3 + bne .L41 extbu d2 - mov d2,d1 - asl 8,d1 - or d2,d1 - mov d1,d0 - asl 16,d0 - or d0,d1 - cmp 15,a1 - bls .L36 -.L33: + mov d2, d1 + asl 8, d1 + or d2, d1 + mov d1, d0 + asl 16, d0 + or d0, d1 + cmp 15, a1 + bls .L36 setlb - mov d1,(a0) - inc4 a0 - mov d1,(a0) - inc4 a0 - mov d1,(a0) - inc4 a0 - mov d1,(a0) - inc4 a0 - add -16,a1 - cmp 15,a1 + mov d1, (a0) + inc4 a0 + mov d1, (a0) + inc4 a0 + mov d1, (a0) + inc4 a0 + mov d1, (a0) + inc4 a0 + add -16, a1 + cmp 15, a1 lhi .L36: - cmp 3,a1 - bls .L41 -.L37: + cmp 3, a1 + bls .L41 setlb - mov d1,(a0) - inc4 a0 - add -4,a1 - cmp 3,a1 + mov d1, (a0) + inc4 a0 + add -4, a1 + cmp 3, a1 lhi -#endif .L41: - cmp 0,a1 - beq .L47 -.L46: +#endif + cmp 0, a1 + beq .Lepilogue setlb - movbu d2,(a0) - inc a0 - sub 1,a1 + movbu d2, (a0) + inc a0 + sub 1, a1 lne -.L47: mov d3,a0 - ret [d2,d3,a2,a3],16 -.Lfe1: - .size _memset,.Lfe1-_memset +.Lepilogue: + ret [d2,d3,a2,a3], 16 +.Lend_of_memset: + .size _memset, .Lend_of_memset - _memset + + .section .debug_frame,"",@progbits +.Lstart_of_debug_frame: + # Common Information Entry (CIE) + .4byte .Lend_of_CIE - .Lstart_of_CIE # CIE Length +.Lstart_of_CIE: + .4byte 0xffffffff # CIE Identifier Tag + .byte 0x1 # CIE Version + .ascii "\0" # CIE Augmentation + .uleb128 0x1 # CIE Code Alignment Factor + .sleb128 -4 # CIE Data Alignment Factor + .byte 0x32 # CIE RA Column + .byte 0xc # DW_CFA_def_cfa + .uleb128 0x9 + .uleb128 0x0 + .byte 0xb2 # DW_CFA_offset, column 0x32 + .uleb128 0x0 + .align 2 +.Lend_of_CIE: + + # Frame Description Entry (FDE) + .4byte .Lend_of_FDE - .Lstart_of_FDE # FDE Length +.Lstart_of_FDE: + .4byte .Lstart_of_debug_frame # FDE CIE offset + .4byte _memset # FDE initial location + .4byte .Lend_of_memset - _memset # FDE address range + .byte 0x4 # DW_CFA_advance_loc4 + .4byte .Lend_of_prologue - _memset + .byte 0xe # DW_CFA_def_cfa_offset + .uleb128 0x4 + .byte 0x87 # DW_CFA_offset, column 0x7 + .uleb128 0x1 + .align 2 +.Lend_of_FDE: |