2014-07-30 Richard Biener <rguenther@suse.de>
[official-gcc.git] / libgcc / config / rs6000 / e500crtsav64gprctr.S
blobd17e5a99e16d7c849330c40f59af5de0ffc2ec4b
1 /*
2  * Special support for e500 eabi and SVR4
3  *
4  *   Copyright (C) 2008-2014 Free Software Foundation, Inc.
5  *   Written by Nathan Froyd
6  * 
7  * This file is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by the
9  * Free Software Foundation; either version 3, or (at your option) any
10  * later version.
11  * 
12  * This file is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * General Public License for more details.
16  * 
17  * Under Section 7 of GPL version 3, you are granted additional
18  * permissions described in the GCC Runtime Library Exception, version
19  * 3.1, as published by the Free Software Foundation.
20  *
21  * You should have received a copy of the GNU General Public License and
22  * a copy of the GCC Runtime Library Exception along with this program;
23  * see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
24  * <http://www.gnu.org/licenses/>.
25  */ 
27         .section ".text"
28         #include "ppc-asm.h"
30 #ifdef __SPE__
32 /* Routines for saving 64-bit integer registers where the number of
33    registers to be saved is passed in CTR, called by the compiler.  */
34 /* "Bare" versions that return to their caller.  */
36 HIDDEN_FUNC(_save64gpr_ctr_14)  evstdd 14,0(11)
37                                 bdz _save64gpr_ctr_done
38 HIDDEN_FUNC(_save64gpr_ctr_15)  evstdd 15,8(11)
39                                 bdz _save64gpr_ctr_done
40 HIDDEN_FUNC(_save64gpr_ctr_16)  evstdd 16,16(11)
41                                 bdz _save64gpr_ctr_done
42 HIDDEN_FUNC(_save64gpr_ctr_17)  evstdd 17,24(11)
43                                 bdz _save64gpr_ctr_done
44 HIDDEN_FUNC(_save64gpr_ctr_18)  evstdd 18,32(11)
45                                 bdz _save64gpr_ctr_done
46 HIDDEN_FUNC(_save64gpr_ctr_19)  evstdd 19,40(11)
47                                 bdz _save64gpr_ctr_done
48 HIDDEN_FUNC(_save64gpr_ctr_20)  evstdd 20,48(11)
49                                 bdz _save64gpr_ctr_done
50 HIDDEN_FUNC(_save64gpr_ctr_21)  evstdd 21,56(11)
51                                 bdz _save64gpr_ctr_done
52 HIDDEN_FUNC(_save64gpr_ctr_22)  evstdd 22,64(11)
53                                 bdz _save64gpr_ctr_done
54 HIDDEN_FUNC(_save64gpr_ctr_23)  evstdd 23,72(11)
55                                 bdz _save64gpr_ctr_done
56 HIDDEN_FUNC(_save64gpr_ctr_24)  evstdd 24,80(11)
57                                 bdz _save64gpr_ctr_done
58 HIDDEN_FUNC(_save64gpr_ctr_25)  evstdd 25,88(11)
59                                 bdz _save64gpr_ctr_done
60 HIDDEN_FUNC(_save64gpr_ctr_26)  evstdd 26,96(11)
61                                 bdz _save64gpr_ctr_done
62 HIDDEN_FUNC(_save64gpr_ctr_27)  evstdd 27,104(11)
63                                 bdz _save64gpr_ctr_done
64 HIDDEN_FUNC(_save64gpr_ctr_28)  evstdd 28,112(11)
65                                 bdz _save64gpr_ctr_done
66 HIDDEN_FUNC(_save64gpr_ctr_29)  evstdd 29,120(11)
67                                 bdz _save64gpr_ctr_done
68 HIDDEN_FUNC(_save64gpr_ctr_30)  evstdd 30,128(11)
69                                 bdz _save64gpr_ctr_done
70 HIDDEN_FUNC(_save64gpr_ctr_31)  evstdd 31,136(11)
71 _save64gpr_ctr_done:            blr
72 FUNC_END(_save64gpr_ctr_31)
73 FUNC_END(_save64gpr_ctr_30)
74 FUNC_END(_save64gpr_ctr_29)
75 FUNC_END(_save64gpr_ctr_28)
76 FUNC_END(_save64gpr_ctr_27)
77 FUNC_END(_save64gpr_ctr_26)
78 FUNC_END(_save64gpr_ctr_25)
79 FUNC_END(_save64gpr_ctr_24)
80 FUNC_END(_save64gpr_ctr_23)
81 FUNC_END(_save64gpr_ctr_22)
82 FUNC_END(_save64gpr_ctr_21)
83 FUNC_END(_save64gpr_ctr_20)
84 FUNC_END(_save64gpr_ctr_19)
85 FUNC_END(_save64gpr_ctr_18)
86 FUNC_END(_save64gpr_ctr_17)
87 FUNC_END(_save64gpr_ctr_16)
88 FUNC_END(_save64gpr_ctr_15)
89 FUNC_END(_save64gpr_ctr_14)
91 #endif