crtsavevr.S revision 1.1.1.1 1 1.1 mrg /* Routines for saving vector registers.
2 1.1 mrg
3 1.1 mrg Copyright (C) 2012-2013 Free Software Foundation, Inc.
4 1.1 mrg Written by Alan Modra, IBM
5 1.1 mrg
6 1.1 mrg This file is free software; you can redistribute it and/or modify it
7 1.1 mrg under the terms of the GNU General Public License as published by the
8 1.1 mrg Free Software Foundation; either version 3, or (at your option) any
9 1.1 mrg later version.
10 1.1 mrg
11 1.1 mrg This file is distributed in the hope that it will be useful, but
12 1.1 mrg WITHOUT ANY WARRANTY; without even the implied warranty of
13 1.1 mrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 1.1 mrg General Public License for more details.
15 1.1 mrg
16 1.1 mrg Under Section 7 of GPL version 3, you are granted additional
17 1.1 mrg permissions described in the GCC Runtime Library Exception, version
18 1.1 mrg 3.1, as published by the Free Software Foundation.
19 1.1 mrg
20 1.1 mrg You should have received a copy of the GNU General Public License and
21 1.1 mrg a copy of the GCC Runtime Library Exception along with this program;
22 1.1 mrg see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
23 1.1 mrg <http://www.gnu.org/licenses/>. */
24 1.1 mrg
25 1.1 mrg /* On PowerPC64 Linux, these functions are provided by the linker. */
26 1.1 mrg #ifndef __powerpc64__
27 1.1 mrg
28 1.1 mrg #undef __ALTIVEC__
29 1.1 mrg #define __ALTIVEC__ 1
30 1.1 mrg #include "ppc-asm.h"
31 1.1 mrg
32 1.1 mrg /* Called with r0 pointing just beyond the end of the vector save area. */
33 1.1 mrg
34 1.1 mrg .section ".text"
35 1.1 mrg CFI_STARTPROC
36 1.1 mrg HIDDEN_FUNC(_savevr_20)
37 1.1 mrg li r11,-192
38 1.1 mrg stvx v20,r11,r0
39 1.1 mrg HIDDEN_FUNC(_savevr_21)
40 1.1 mrg li r11,-176
41 1.1 mrg stvx v21,r11,r0
42 1.1 mrg HIDDEN_FUNC(_savevr_22)
43 1.1 mrg li r11,-160
44 1.1 mrg stvx v22,r11,r0
45 1.1 mrg HIDDEN_FUNC(_savevr_23)
46 1.1 mrg li r11,-144
47 1.1 mrg stvx v23,r11,r0
48 1.1 mrg HIDDEN_FUNC(_savevr_24)
49 1.1 mrg li r11,-128
50 1.1 mrg stvx v24,r11,r0
51 1.1 mrg HIDDEN_FUNC(_savevr_25)
52 1.1 mrg li r11,-112
53 1.1 mrg stvx v25,r11,r0
54 1.1 mrg HIDDEN_FUNC(_savevr_26)
55 1.1 mrg li r11,-96
56 1.1 mrg stvx v26,r11,r0
57 1.1 mrg HIDDEN_FUNC(_savevr_27)
58 1.1 mrg li r11,-80
59 1.1 mrg stvx v27,r11,r0
60 1.1 mrg HIDDEN_FUNC(_savevr_28)
61 1.1 mrg li r11,-64
62 1.1 mrg stvx v28,r11,r0
63 1.1 mrg HIDDEN_FUNC(_savevr_29)
64 1.1 mrg li r11,-48
65 1.1 mrg stvx v29,r11,r0
66 1.1 mrg HIDDEN_FUNC(_savevr_30)
67 1.1 mrg li r11,-32
68 1.1 mrg stvx v30,r11,r0
69 1.1 mrg HIDDEN_FUNC(_savevr_31)
70 1.1 mrg li r11,-16
71 1.1 mrg stvx v31,r11,r0
72 1.1 mrg blr
73 1.1 mrg FUNC_END(_savevr_31)
74 1.1 mrg FUNC_END(_savevr_30)
75 1.1 mrg FUNC_END(_savevr_29)
76 1.1 mrg FUNC_END(_savevr_28)
77 1.1 mrg FUNC_END(_savevr_27)
78 1.1 mrg FUNC_END(_savevr_26)
79 1.1 mrg FUNC_END(_savevr_25)
80 1.1 mrg FUNC_END(_savevr_24)
81 1.1 mrg FUNC_END(_savevr_23)
82 1.1 mrg FUNC_END(_savevr_22)
83 1.1 mrg FUNC_END(_savevr_21)
84 1.1 mrg FUNC_END(_savevr_20)
85 1.1 mrg CFI_ENDPROC
86 1.1 mrg
87 1.1 mrg #endif
88