crtrestvr.S revision 1.1.1.7 1 1.1 mrg /* Routines for restoring vector registers.
2 1.1 mrg
3 1.1.1.7 mrg Copyright (C) 2012-2020 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.1.4 mrg .machine altivec
35 1.1 mrg .section ".text"
36 1.1 mrg CFI_STARTPROC
37 1.1 mrg HIDDEN_FUNC(_restvr_20)
38 1.1 mrg li r11,-192
39 1.1 mrg lvx v20,r11,r0
40 1.1 mrg HIDDEN_FUNC(_restvr_21)
41 1.1 mrg li r11,-176
42 1.1 mrg lvx v21,r11,r0
43 1.1 mrg HIDDEN_FUNC(_restvr_22)
44 1.1 mrg li r11,-160
45 1.1 mrg lvx v22,r11,r0
46 1.1 mrg HIDDEN_FUNC(_restvr_23)
47 1.1 mrg li r11,-144
48 1.1 mrg lvx v23,r11,r0
49 1.1 mrg HIDDEN_FUNC(_restvr_24)
50 1.1 mrg li r11,-128
51 1.1 mrg lvx v24,r11,r0
52 1.1 mrg HIDDEN_FUNC(_restvr_25)
53 1.1 mrg li r11,-112
54 1.1 mrg lvx v25,r11,r0
55 1.1 mrg HIDDEN_FUNC(_restvr_26)
56 1.1 mrg li r11,-96
57 1.1 mrg lvx v26,r11,r0
58 1.1 mrg HIDDEN_FUNC(_restvr_27)
59 1.1 mrg li r11,-80
60 1.1 mrg lvx v27,r11,r0
61 1.1 mrg HIDDEN_FUNC(_restvr_28)
62 1.1 mrg li r11,-64
63 1.1 mrg lvx v28,r11,r0
64 1.1 mrg HIDDEN_FUNC(_restvr_29)
65 1.1 mrg li r11,-48
66 1.1 mrg lvx v29,r11,r0
67 1.1 mrg HIDDEN_FUNC(_restvr_30)
68 1.1 mrg li r11,-32
69 1.1 mrg lvx v30,r11,r0
70 1.1 mrg HIDDEN_FUNC(_restvr_31)
71 1.1 mrg li r11,-16
72 1.1 mrg lvx v31,r11,r0
73 1.1 mrg blr
74 1.1 mrg FUNC_END(_restvr_31)
75 1.1 mrg FUNC_END(_restvr_30)
76 1.1 mrg FUNC_END(_restvr_29)
77 1.1 mrg FUNC_END(_restvr_28)
78 1.1 mrg FUNC_END(_restvr_27)
79 1.1 mrg FUNC_END(_restvr_26)
80 1.1 mrg FUNC_END(_restvr_25)
81 1.1 mrg FUNC_END(_restvr_24)
82 1.1 mrg FUNC_END(_restvr_23)
83 1.1 mrg FUNC_END(_restvr_22)
84 1.1 mrg FUNC_END(_restvr_21)
85 1.1 mrg FUNC_END(_restvr_20)
86 1.1 mrg CFI_ENDPROC
87 1.1 mrg
88 1.1 mrg #endif
89