crtsavevr.S revision 1.6 1 1.1 mrg /* Routines for saving vector registers.
2 1.1 mrg
3 1.6 mrg Copyright (C) 2012-2017 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.6 mrg .machine altivec
35 1.1 mrg .section ".text"
36 1.1 mrg CFI_STARTPROC
37 1.1 mrg HIDDEN_FUNC(_savevr_20)
38 1.1 mrg li r11,-192
39 1.1 mrg stvx v20,r11,r0
40 1.1 mrg HIDDEN_FUNC(_savevr_21)
41 1.1 mrg li r11,-176
42 1.1 mrg stvx v21,r11,r0
43 1.1 mrg HIDDEN_FUNC(_savevr_22)
44 1.1 mrg li r11,-160
45 1.1 mrg stvx v22,r11,r0
46 1.1 mrg HIDDEN_FUNC(_savevr_23)
47 1.1 mrg li r11,-144
48 1.1 mrg stvx v23,r11,r0
49 1.1 mrg HIDDEN_FUNC(_savevr_24)
50 1.1 mrg li r11,-128
51 1.1 mrg stvx v24,r11,r0
52 1.1 mrg HIDDEN_FUNC(_savevr_25)
53 1.1 mrg li r11,-112
54 1.1 mrg stvx v25,r11,r0
55 1.1 mrg HIDDEN_FUNC(_savevr_26)
56 1.1 mrg li r11,-96
57 1.1 mrg stvx v26,r11,r0
58 1.1 mrg HIDDEN_FUNC(_savevr_27)
59 1.1 mrg li r11,-80
60 1.1 mrg stvx v27,r11,r0
61 1.1 mrg HIDDEN_FUNC(_savevr_28)
62 1.1 mrg li r11,-64
63 1.1 mrg stvx v28,r11,r0
64 1.1 mrg HIDDEN_FUNC(_savevr_29)
65 1.1 mrg li r11,-48
66 1.1 mrg stvx v29,r11,r0
67 1.1 mrg HIDDEN_FUNC(_savevr_30)
68 1.1 mrg li r11,-32
69 1.1 mrg stvx v30,r11,r0
70 1.1 mrg HIDDEN_FUNC(_savevr_31)
71 1.1 mrg li r11,-16
72 1.1 mrg stvx v31,r11,r0
73 1.1 mrg blr
74 1.1 mrg FUNC_END(_savevr_31)
75 1.1 mrg FUNC_END(_savevr_30)
76 1.1 mrg FUNC_END(_savevr_29)
77 1.1 mrg FUNC_END(_savevr_28)
78 1.1 mrg FUNC_END(_savevr_27)
79 1.1 mrg FUNC_END(_savevr_26)
80 1.1 mrg FUNC_END(_savevr_25)
81 1.1 mrg FUNC_END(_savevr_24)
82 1.1 mrg FUNC_END(_savevr_23)
83 1.1 mrg FUNC_END(_savevr_22)
84 1.1 mrg FUNC_END(_savevr_21)
85 1.1 mrg FUNC_END(_savevr_20)
86 1.1 mrg CFI_ENDPROC
87 1.1 mrg
88 1.1 mrg #endif
89