1 1.1 mrg /* Routines for saving vector registers. 2 1.1 mrg 3 1.10 mrg Copyright (C) 2012-2022 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