Mercurial > hg > CbC > CbC_gcc
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 |