|  | /* Routines for restoring vector registers. | 
|  |  | 
|  | Copyright (C) 2012-2021 Free Software Foundation, Inc. | 
|  | Written by Alan Modra, IBM | 
|  |  | 
|  | This file is free software; you can redistribute it and/or modify it | 
|  | under the terms of the GNU General Public License as published by the | 
|  | Free Software Foundation; either version 3, or (at your option) any | 
|  | later version. | 
|  |  | 
|  | This file is distributed in the hope that it will be useful, but | 
|  | WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
|  | General Public License for more details. | 
|  |  | 
|  | Under Section 7 of GPL version 3, you are granted additional | 
|  | permissions described in the GCC Runtime Library Exception, version | 
|  | 3.1, as published by the Free Software Foundation. | 
|  |  | 
|  | You should have received a copy of the GNU General Public License and | 
|  | a copy of the GCC Runtime Library Exception along with this program; | 
|  | see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see | 
|  | <http://www.gnu.org/licenses/>.  */ | 
|  |  | 
|  | /* On PowerPC64 Linux, these functions are provided by the linker.  */ | 
|  | #ifndef __powerpc64__ | 
|  |  | 
|  | #undef __ALTIVEC__ | 
|  | #define __ALTIVEC__ 1 | 
|  | #include "ppc-asm.h" | 
|  |  | 
|  | /* Called with r0 pointing just beyond the end of the vector save area.  */ | 
|  |  | 
|  | .machine altivec | 
|  | .section ".text" | 
|  | CFI_STARTPROC | 
|  | HIDDEN_FUNC(_restvr_20) | 
|  | li r11,-192 | 
|  | lvx v20,r11,r0 | 
|  | HIDDEN_FUNC(_restvr_21) | 
|  | li r11,-176 | 
|  | lvx v21,r11,r0 | 
|  | HIDDEN_FUNC(_restvr_22) | 
|  | li r11,-160 | 
|  | lvx v22,r11,r0 | 
|  | HIDDEN_FUNC(_restvr_23) | 
|  | li r11,-144 | 
|  | lvx v23,r11,r0 | 
|  | HIDDEN_FUNC(_restvr_24) | 
|  | li r11,-128 | 
|  | lvx v24,r11,r0 | 
|  | HIDDEN_FUNC(_restvr_25) | 
|  | li r11,-112 | 
|  | lvx v25,r11,r0 | 
|  | HIDDEN_FUNC(_restvr_26) | 
|  | li r11,-96 | 
|  | lvx v26,r11,r0 | 
|  | HIDDEN_FUNC(_restvr_27) | 
|  | li r11,-80 | 
|  | lvx v27,r11,r0 | 
|  | HIDDEN_FUNC(_restvr_28) | 
|  | li r11,-64 | 
|  | lvx v28,r11,r0 | 
|  | HIDDEN_FUNC(_restvr_29) | 
|  | li r11,-48 | 
|  | lvx v29,r11,r0 | 
|  | HIDDEN_FUNC(_restvr_30) | 
|  | li r11,-32 | 
|  | lvx v30,r11,r0 | 
|  | HIDDEN_FUNC(_restvr_31) | 
|  | li r11,-16 | 
|  | lvx v31,r11,r0 | 
|  | blr | 
|  | FUNC_END(_restvr_31) | 
|  | FUNC_END(_restvr_30) | 
|  | FUNC_END(_restvr_29) | 
|  | FUNC_END(_restvr_28) | 
|  | FUNC_END(_restvr_27) | 
|  | FUNC_END(_restvr_26) | 
|  | FUNC_END(_restvr_25) | 
|  | FUNC_END(_restvr_24) | 
|  | FUNC_END(_restvr_23) | 
|  | FUNC_END(_restvr_22) | 
|  | FUNC_END(_restvr_21) | 
|  | FUNC_END(_restvr_20) | 
|  | CFI_ENDPROC | 
|  |  | 
|  | #endif |