e500crtrest32gpr.S revision 1.9 1 1.1 mrg /*
2 1.1 mrg * Special support for e500 eabi and SVR4
3 1.1 mrg *
4 1.9 mrg * Copyright (C) 2008-2020 Free Software Foundation, Inc.
5 1.1 mrg * Written by Nathan Froyd
6 1.1 mrg *
7 1.1 mrg * This file is free software; you can redistribute it and/or modify it
8 1.1 mrg * under the terms of the GNU General Public License as published by the
9 1.1 mrg * Free Software Foundation; either version 3, or (at your option) any
10 1.1 mrg * later version.
11 1.1 mrg *
12 1.1 mrg * This file is distributed in the hope that it will be useful, but
13 1.1 mrg * WITHOUT ANY WARRANTY; without even the implied warranty of
14 1.1 mrg * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 1.1 mrg * General Public License for more details.
16 1.1 mrg *
17 1.1 mrg * Under Section 7 of GPL version 3, you are granted additional
18 1.1 mrg * permissions described in the GCC Runtime Library Exception, version
19 1.1 mrg * 3.1, as published by the Free Software Foundation.
20 1.1 mrg *
21 1.1 mrg * You should have received a copy of the GNU General Public License and
22 1.1 mrg * a copy of the GCC Runtime Library Exception along with this program;
23 1.1 mrg * see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
24 1.1 mrg * <http://www.gnu.org/licenses/>.
25 1.1 mrg */
26 1.1 mrg
27 1.1 mrg .section ".text"
28 1.1 mrg #include "ppc-asm.h"
29 1.1 mrg
30 1.1 mrg #ifdef __SPE__
31 1.1 mrg
32 1.1 mrg /* Routines for restoring 32-bit integer registers, called by the compiler. */
33 1.1 mrg /* "Tail" versions that perform a tail call. */
34 1.1 mrg
35 1.1 mrg HIDDEN_FUNC(_rest32gpr_14_t) lwz 14,-72(11)
36 1.1 mrg HIDDEN_FUNC(_rest32gpr_15_t) lwz 15,-68(11)
37 1.1 mrg HIDDEN_FUNC(_rest32gpr_16_t) lwz 16,-64(11)
38 1.1 mrg HIDDEN_FUNC(_rest32gpr_17_t) lwz 17,-60(11)
39 1.1 mrg HIDDEN_FUNC(_rest32gpr_18_t) lwz 18,-56(11)
40 1.1 mrg HIDDEN_FUNC(_rest32gpr_19_t) lwz 19,-52(11)
41 1.1 mrg HIDDEN_FUNC(_rest32gpr_20_t) lwz 20,-48(11)
42 1.1 mrg HIDDEN_FUNC(_rest32gpr_21_t) lwz 21,-44(11)
43 1.1 mrg HIDDEN_FUNC(_rest32gpr_22_t) lwz 22,-40(11)
44 1.1 mrg HIDDEN_FUNC(_rest32gpr_23_t) lwz 23,-36(11)
45 1.1 mrg HIDDEN_FUNC(_rest32gpr_24_t) lwz 24,-32(11)
46 1.1 mrg HIDDEN_FUNC(_rest32gpr_25_t) lwz 25,-28(11)
47 1.1 mrg HIDDEN_FUNC(_rest32gpr_26_t) lwz 26,-24(11)
48 1.1 mrg HIDDEN_FUNC(_rest32gpr_27_t) lwz 27,-20(11)
49 1.1 mrg HIDDEN_FUNC(_rest32gpr_28_t) lwz 28,-16(11)
50 1.1 mrg HIDDEN_FUNC(_rest32gpr_29_t) lwz 29,-12(11)
51 1.1 mrg HIDDEN_FUNC(_rest32gpr_30_t) lwz 30,-8(11)
52 1.1 mrg HIDDEN_FUNC(_rest32gpr_31_t) lwz 31,-4(11)
53 1.1 mrg lwz 0,4(11)
54 1.1 mrg mr 1,11
55 1.1 mrg blr
56 1.1 mrg FUNC_END(_rest32gpr_31_t)
57 1.1 mrg FUNC_END(_rest32gpr_30_t)
58 1.1 mrg FUNC_END(_rest32gpr_29_t)
59 1.1 mrg FUNC_END(_rest32gpr_28_t)
60 1.1 mrg FUNC_END(_rest32gpr_27_t)
61 1.1 mrg FUNC_END(_rest32gpr_26_t)
62 1.1 mrg FUNC_END(_rest32gpr_25_t)
63 1.1 mrg FUNC_END(_rest32gpr_24_t)
64 1.1 mrg FUNC_END(_rest32gpr_23_t)
65 1.1 mrg FUNC_END(_rest32gpr_22_t)
66 1.1 mrg FUNC_END(_rest32gpr_21_t)
67 1.1 mrg FUNC_END(_rest32gpr_20_t)
68 1.1 mrg FUNC_END(_rest32gpr_19_t)
69 1.1 mrg FUNC_END(_rest32gpr_18_t)
70 1.1 mrg FUNC_END(_rest32gpr_17_t)
71 1.1 mrg FUNC_END(_rest32gpr_16_t)
72 1.1 mrg FUNC_END(_rest32gpr_15_t)
73 1.1 mrg FUNC_END(_rest32gpr_14_t)
74 1.1 mrg
75 1.1 mrg #endif
76