source: trunk/libs/newlib/src/newlib/libc/machine/mn10300/memcmp.S @ 625

Last change on this file since 625 was 444, checked in by satin@…, 6 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 1.6 KB
Line 
1        .file "memcmp.S"
2
3        .section .text
4        .global _memcmp
5        .type    _memcmp,@function
6_memcmp:
7        movm [d2,d3,a2,a3],(sp)
8.Lend_of_prologue:
9        mov d0,a0
10        mov d1,a1
11        mov (28,sp),a2
12#ifndef __OPTIMIZE_SIZE__
13        cmp 3,a2
14        bls .L22
15        mov a1,d2
16        or d2,d0
17        btst 3,d0
18        bne .L22
19        setlb
20        mov (a0),d1
21        mov (a1),d0
22        cmp d0,d1
23        bne .L22
24        inc4 a0
25        inc4 a1
26        add -4,a2
27        cmp 3,a2
28        lhi
29.L22:
30#endif
31        cmp 0,a2
32        beq .L24
33        setlb
34        movbu (a0),d3
35        movbu (a1),d2
36        cmp d2,d3
37        beq .L23
38        mov d3,d0
39        sub d2,d0
40        jmp .Lepilogue
41.L23:
42        inc a0
43        inc a1
44        sub 1,a2
45        lne
46.L24:
47        clr d0
48.Lepilogue:
49        ret [d2,d3,a2,a3],16
50.Lend_of_func:
51        .size    _memcmp, .Lend_of_func - _memcmp
52
53        .section        .debug_frame,"",@progbits
54.Lstart_of_debug_frame:
55        # Common Information Entry (CIE)
56        .4byte  .Lend_of_CIE - .Lstart_of_CIE   # CIE Length
57.Lstart_of_CIE:
58        .4byte   0xffffffff                     # CIE Identifier Tag
59        .byte    0x1                            # CIE Version
60        .ascii   "\0"                           # CIE Augmentation
61        .uleb128 0x1                            # CIE Code Alignment Factor
62        .sleb128 -4                             # CIE Data Alignment Factor
63        .byte    0x32                           # CIE RA Column
64        .byte    0xc                            # DW_CFA_def_cfa
65        .uleb128 0x9
66        .uleb128 0x0
67        .byte    0xb2                           # DW_CFA_offset, column 0x32
68        .uleb128 0x0
69        .align   2
70.Lend_of_CIE:
71       
72        # Frame Description Entry (FDE)
73        .4byte  .Lend_of_FDE - .Lstart_of_FDE   # FDE Length
74.Lstart_of_FDE:
75        .4byte   .Lstart_of_debug_frame         # FDE CIE offset
76        .4byte   _memcmp                        # FDE initial location
77        .4byte   .Lend_of_func - _memcmp        # FDE address range
78        .byte    0x4                            # DW_CFA_advance_loc4
79        .4byte   .Lend_of_prologue - _memcmp
80        .byte    0xe                            # DW_CFA_def_cfa_offset
81        .uleb128 0x4
82        .byte    0x87                           # DW_CFA_offset, column 0x7
83        .uleb128 0x1
84        .align 2
85.Lend_of_FDE:
Note: See TracBrowser for help on using the repository browser.