comparison gcc/config/mep/mep-lib1.asm @ 55:77e2b8dfacca gcc-4.4.5

update it from 4.4.3 to 4.5.0
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Fri, 12 Feb 2010 23:39:51 +0900
parents
children
comparison
equal deleted inserted replaced
52:c156f1bd5cd9 55:77e2b8dfacca
1 /* libgcc routines for Toshiba Media Processor.
2 Copyright (C) 2001, 2002, 2005, 2009 Free Software Foundation, Inc.
3
4 This file is free software; you can redistribute it and/or modify it
5 under the terms of the GNU General Public License as published by the
6 Free Software Foundation; either version 3 of the License, or (at your
7 option) any later version.
8
9 This file is distributed in the hope that it will be useful, but
10 WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 General Public License for more details.
13
14 Under Section 7 of GPL version 3, you are granted additional
15 permissions described in the GCC Runtime Library Exception, version
16 3.1, as published by the Free Software Foundation.
17
18 You should have received a copy of the GNU General Public License and
19 a copy of the GCC Runtime Library Exception along with this program;
20 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
21 <http://www.gnu.org/licenses/>. */
22
23 #define SAVEALL \
24 add3 $sp, $sp, -16*4 ; \
25 sw $0, ($sp) ; \
26 sw $1, 4($sp) ; \
27 sw $2, 8($sp) ; \
28 sw $3, 12($sp) ; \
29 sw $4, 16($sp) ; \
30 sw $5, 20($sp) ; \
31 sw $6, 24($sp) ; \
32 sw $7, 28($sp) ; \
33 sw $8, 32($sp) ; \
34 sw $9, 36($sp) ; \
35 sw $10, 40($sp) ; \
36 sw $11, 44($sp) ; \
37 sw $12, 48($sp) ; \
38 sw $13, 52($sp) ; \
39 sw $14, 56($sp) ; \
40 ldc $5, $lp ; \
41 add $5, 3 ; \
42 mov $6, -4 ; \
43 and $5, $6
44
45 #define RESTOREALL \
46 stc $5, $lp ; \
47 lw $14, 56($sp) ; \
48 lw $13, 52($sp) ; \
49 lw $12, 48($sp) ; \
50 lw $11, 44($sp) ; \
51 lw $10, 40($sp) ; \
52 lw $9, 36($sp) ; \
53 lw $8, 32($sp) ; \
54 lw $7, 28($sp) ; \
55 lw $6, 24($sp) ; \
56 lw $5, 20($sp) ; \
57 lw $4, 16($sp) ; \
58 lw $3, 12($sp) ; \
59 lw $2, 8($sp) ; \
60 lw $1, 4($sp) ; \
61 lw $0, ($sp) ; \
62 add3 $sp, $sp, 16*4 ; \
63 ret
64
65 #ifdef L_mep_profile
66 .text
67 .global __mep_mcount
68 __mep_mcount:
69 SAVEALL
70 ldc $1, $lp
71 mov $2, $0
72 bsr __mep_mcount_2
73 RESTOREALL
74 #endif
75
76 #ifdef L_mep_bb_init_trace
77 .text
78 .global __mep_bb_init_trace_func
79 __mep_bb_init_trace_func:
80 SAVEALL
81 lw $1, ($5)
82 lw $2, 4($5)
83 add $5, 8
84 bsr __bb_init_trace_func
85 RESTOREALL
86 #endif
87
88 #ifdef L_mep_bb_init
89 .text
90 .global __mep_bb_init_func
91 __mep_bb_init_func:
92 SAVEALL
93 lw $1, ($5)
94 add $5, 4
95 bsr __bb_init_func
96 RESTOREALL
97 #endif
98
99 #ifdef L_mep_bb_trace
100 .text
101 .global __mep_bb_trace_func
102 __mep_bb_trace_func:
103 SAVEALL
104 movu $3, __bb
105 lw $1, ($5)
106 sw $1, ($3)
107 lw $2, 4($5)
108 sw $2, 4($3)
109 add $5, 8
110 bsr __bb_trace_func
111 RESTOREALL
112 #endif
113
114 #ifdef L_mep_bb_increment
115 .text
116 .global __mep_bb_increment_func
117 __mep_bb_increment_func:
118 SAVEALL
119 lw $1, ($5)
120 lw $0, ($1)
121 add $0, 1
122 sw $0, ($1)
123 add $5, 4
124 RESTOREALL
125 #endif