1/*
2 * Special support for e500 eabi and SVR4
3 *
4 *   Copyright (C) 2008-2020 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 */
26
27	.section ".text"
28	#include "ppc-asm.h"
29
30#ifdef __SPE__
31
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.  */
35
36HIDDEN_FUNC(_save64gpr_ctr_14)	evstdd 14,0(11)
37				bdz _save64gpr_ctr_done
38HIDDEN_FUNC(_save64gpr_ctr_15)	evstdd 15,8(11)
39				bdz _save64gpr_ctr_done
40HIDDEN_FUNC(_save64gpr_ctr_16)	evstdd 16,16(11)
41				bdz _save64gpr_ctr_done
42HIDDEN_FUNC(_save64gpr_ctr_17)	evstdd 17,24(11)
43				bdz _save64gpr_ctr_done
44HIDDEN_FUNC(_save64gpr_ctr_18)	evstdd 18,32(11)
45				bdz _save64gpr_ctr_done
46HIDDEN_FUNC(_save64gpr_ctr_19)	evstdd 19,40(11)
47				bdz _save64gpr_ctr_done
48HIDDEN_FUNC(_save64gpr_ctr_20)	evstdd 20,48(11)
49				bdz _save64gpr_ctr_done
50HIDDEN_FUNC(_save64gpr_ctr_21)	evstdd 21,56(11)
51				bdz _save64gpr_ctr_done
52HIDDEN_FUNC(_save64gpr_ctr_22)	evstdd 22,64(11)
53				bdz _save64gpr_ctr_done
54HIDDEN_FUNC(_save64gpr_ctr_23)	evstdd 23,72(11)
55				bdz _save64gpr_ctr_done
56HIDDEN_FUNC(_save64gpr_ctr_24)	evstdd 24,80(11)
57				bdz _save64gpr_ctr_done
58HIDDEN_FUNC(_save64gpr_ctr_25)	evstdd 25,88(11)
59				bdz _save64gpr_ctr_done
60HIDDEN_FUNC(_save64gpr_ctr_26)	evstdd 26,96(11)
61				bdz _save64gpr_ctr_done
62HIDDEN_FUNC(_save64gpr_ctr_27)	evstdd 27,104(11)
63				bdz _save64gpr_ctr_done
64HIDDEN_FUNC(_save64gpr_ctr_28)	evstdd 28,112(11)
65				bdz _save64gpr_ctr_done
66HIDDEN_FUNC(_save64gpr_ctr_29)	evstdd 29,120(11)
67				bdz _save64gpr_ctr_done
68HIDDEN_FUNC(_save64gpr_ctr_30)	evstdd 30,128(11)
69				bdz _save64gpr_ctr_done
70HIDDEN_FUNC(_save64gpr_ctr_31)	evstdd 31,136(11)
71_save64gpr_ctr_done:		blr
72FUNC_END(_save64gpr_ctr_31)
73FUNC_END(_save64gpr_ctr_30)
74FUNC_END(_save64gpr_ctr_29)
75FUNC_END(_save64gpr_ctr_28)
76FUNC_END(_save64gpr_ctr_27)
77FUNC_END(_save64gpr_ctr_26)
78FUNC_END(_save64gpr_ctr_25)
79FUNC_END(_save64gpr_ctr_24)
80FUNC_END(_save64gpr_ctr_23)
81FUNC_END(_save64gpr_ctr_22)
82FUNC_END(_save64gpr_ctr_21)
83FUNC_END(_save64gpr_ctr_20)
84FUNC_END(_save64gpr_ctr_19)
85FUNC_END(_save64gpr_ctr_18)
86FUNC_END(_save64gpr_ctr_17)
87FUNC_END(_save64gpr_ctr_16)
88FUNC_END(_save64gpr_ctr_15)
89FUNC_END(_save64gpr_ctr_14)
90
91#endif
92