Home | History | Annotate | Line # | Download | only in rs6000
e500crtresx32gpr.S revision 1.7
      1 /*
      2  * Special support for e500 eabi and SVR4
      3  *
      4  *   Copyright (C) 2008-2018 Free Software Foundation, Inc.
      5  *   Written by Nathan Froyd
      6  *
      7  * This file is free software; you can redistribute it and/or modify it
      8  * under the terms of the GNU General Public License as published by the
      9  * Free Software Foundation; either version 3, or (at your option) any
     10  * later version.
     11  *
     12  * This file is distributed in the hope that it will be useful, but
     13  * WITHOUT ANY WARRANTY; without even the implied warranty of
     14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     15  * General Public License for more details.
     16  *
     17  * Under Section 7 of GPL version 3, you are granted additional
     18  * permissions described in the GCC Runtime Library Exception, version
     19  * 3.1, as published by the Free Software Foundation.
     20  *
     21  * You should have received a copy of the GNU General Public License and
     22  * a copy of the GCC Runtime Library Exception along with this program;
     23  * see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
     24  * <http://www.gnu.org/licenses/>.
     25  */
     26 	.section ".text"
     27 	#include "ppc-asm.h"
     28 
     29 #ifdef __SPE__
     30 
     31 /* Routines for restoring 32-bit integer registers, called by the compiler.  */
     32 /* "Exit" versions that return to the caller's caller.  */
     33 
     34 HIDDEN_FUNC(_rest32gpr_14_x)	lwz 14,-72(11)
     35 HIDDEN_FUNC(_rest32gpr_15_x)	lwz 15,-68(11)
     36 HIDDEN_FUNC(_rest32gpr_16_x)	lwz 16,-64(11)
     37 HIDDEN_FUNC(_rest32gpr_17_x)	lwz 17,-60(11)
     38 HIDDEN_FUNC(_rest32gpr_18_x)	lwz 18,-56(11)
     39 HIDDEN_FUNC(_rest32gpr_19_x)	lwz 19,-52(11)
     40 HIDDEN_FUNC(_rest32gpr_20_x)	lwz 20,-48(11)
     41 HIDDEN_FUNC(_rest32gpr_21_x)	lwz 21,-44(11)
     42 HIDDEN_FUNC(_rest32gpr_22_x)	lwz 22,-40(11)
     43 HIDDEN_FUNC(_rest32gpr_23_x)	lwz 23,-36(11)
     44 HIDDEN_FUNC(_rest32gpr_24_x)	lwz 24,-32(11)
     45 HIDDEN_FUNC(_rest32gpr_25_x)	lwz 25,-28(11)
     46 HIDDEN_FUNC(_rest32gpr_26_x)	lwz 26,-24(11)
     47 HIDDEN_FUNC(_rest32gpr_27_x)	lwz 27,-20(11)
     48 HIDDEN_FUNC(_rest32gpr_28_x)	lwz 28,-16(11)
     49 HIDDEN_FUNC(_rest32gpr_29_x)	lwz 29,-12(11)
     50 HIDDEN_FUNC(_rest32gpr_30_x)	lwz 30,-8(11)
     51 HIDDEN_FUNC(_rest32gpr_31_x)	lwz 0,4(11)
     52 				lwz 31,-4(11)
     53 				mr 1,11
     54 				mtlr 0
     55 				blr
     56 FUNC_END(_rest32gpr_31_x)
     57 FUNC_END(_rest32gpr_30_x)
     58 FUNC_END(_rest32gpr_29_x)
     59 FUNC_END(_rest32gpr_28_x)
     60 FUNC_END(_rest32gpr_27_x)
     61 FUNC_END(_rest32gpr_26_x)
     62 FUNC_END(_rest32gpr_25_x)
     63 FUNC_END(_rest32gpr_24_x)
     64 FUNC_END(_rest32gpr_23_x)
     65 FUNC_END(_rest32gpr_22_x)
     66 FUNC_END(_rest32gpr_21_x)
     67 FUNC_END(_rest32gpr_20_x)
     68 FUNC_END(_rest32gpr_19_x)
     69 FUNC_END(_rest32gpr_18_x)
     70 FUNC_END(_rest32gpr_17_x)
     71 FUNC_END(_rest32gpr_16_x)
     72 FUNC_END(_rest32gpr_15_x)
     73 FUNC_END(_rest32gpr_14_x)
     74 
     75 #endif
     76