]> git.ipfire.org Git - thirdparty/glibc.git/blame - sysdeps/powerpc/powerpc32/gprsave0.S
Update copyright dates with scripts/update-copyrights.
[thirdparty/glibc.git] / sysdeps / powerpc / powerpc32 / gprsave0.S
CommitLineData
d614a753 1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
456db476
UD
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
456db476
UD
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41bdb6e2 12 Lesser General Public License for more details.
456db476 13
41bdb6e2 14 You should have received a copy of the GNU Lesser General Public
59ba27a6 15 License along with the GNU C Library; if not, see
5a82c748 16 <https://www.gnu.org/licenses/>. */
456db476 17
ef5166a6
UD
18/*
19 General Purpose Register (GPR) save routine
20 when Floating Point Registers (FPRs) are not saved
21
22 Note: This save routine must not be called when GPR30 or
23 GPR31, or both, are the only registers beings saved. In these
24 cases, the saving and restoring must be done inline.
25*/
26
456db476
UD
27#include <sysdep.h>
28
ef5166a6 29ENTRY(_savegpr0_all)
7b8e0d49 30 .globl C_TEXT(_savegpr0_13)
ef5166a6 31C_TEXT(_savegpr0_13): stw r13,-76(r1)
3e7e947f 32 cfi_offset(r13,-76)
7b8e0d49 33 .globl C_TEXT(_savegpr0_14)
ef5166a6 34C_TEXT(_savegpr0_14): stw r14,-72(r1)
3e7e947f 35 cfi_offset(r14,-72)
7b8e0d49 36 .globl C_TEXT(_savegpr0_15)
ef5166a6 37C_TEXT(_savegpr0_15): stw r15,-68(r1)
3e7e947f 38 cfi_offset(r15,-68)
7b8e0d49 39 .globl C_TEXT(_savegpr0_16)
ef5166a6 40C_TEXT(_savegpr0_16): stw r16,-64(r1)
3e7e947f 41 cfi_offset(r16,-64)
7b8e0d49 42 .globl C_TEXT(_savegpr0_17)
ef5166a6 43C_TEXT(_savegpr0_17): stw r17,-60(r1)
3e7e947f 44 cfi_offset(r17,-60)
7b8e0d49 45 .globl C_TEXT(_savegpr0_18)
ef5166a6 46C_TEXT(_savegpr0_18): stw r18,-56(r1)
3e7e947f 47 cfi_offset(r18,-56)
7b8e0d49 48 .globl C_TEXT(_savegpr0_19)
ef5166a6 49C_TEXT(_savegpr0_19): stw r19,-52(r1)
3e7e947f 50 cfi_offset(r19,-52)
7b8e0d49 51 .globl C_TEXT(_savegpr0_20)
ef5166a6 52C_TEXT(_savegpr0_20): stw r20,-48(r1)
3e7e947f 53 cfi_offset(r20,-48)
7b8e0d49 54 .globl C_TEXT(_savegpr0_21)
ef5166a6 55C_TEXT(_savegpr0_21): stw r21,-44(r1)
3e7e947f 56 cfi_offset(r21,-44)
7b8e0d49 57 .globl C_TEXT(_savegpr0_22)
ef5166a6 58C_TEXT(_savegpr0_22): stw r22,-40(r1)
3e7e947f 59 cfi_offset(r22,-40)
7b8e0d49 60 .globl C_TEXT(_savegpr0_23)
ef5166a6 61C_TEXT(_savegpr0_23): stw r23,-36(r1)
3e7e947f 62 cfi_offset(r23,-36)
7b8e0d49 63 .globl C_TEXT(_savegpr0_24)
ef5166a6 64C_TEXT(_savegpr0_24): stw r24,-32(r1)
3e7e947f 65 cfi_offset(r24,-32)
7b8e0d49 66 .globl C_TEXT(_savegpr0_25)
ef5166a6 67C_TEXT(_savegpr0_25): stw r25,-28(r1)
3e7e947f 68 cfi_offset(r25,-28)
7b8e0d49 69 .globl C_TEXT(_savegpr0_26)
ef5166a6 70C_TEXT(_savegpr0_26): stw r26,-24(r1)
3e7e947f 71 cfi_offset(r26,-24)
7b8e0d49 72 .globl C_TEXT(_savegpr0_27)
ef5166a6 73C_TEXT(_savegpr0_27): stw r27,-20(r1)
3e7e947f 74 cfi_offset(r27,-20)
7b8e0d49 75 .globl C_TEXT(_savegpr0_28)
ef5166a6 76C_TEXT(_savegpr0_28): stw r28,-16(r1)
3e7e947f 77 cfi_offset(r28,-16)
7b8e0d49 78 .globl C_TEXT(_savegpr0_29)
ef5166a6
UD
79C_TEXT(_savegpr0_29): stw r29,-12(r1) #save r29
80 stw r30,-8(r1) #save r30
81 stw r31,-4(r1) #save r31
3e7e947f
RM
82 cfi_offset(r29,-12)
83 cfi_offset(r30,-8)
84 cfi_offset(r31,-4)
ef5166a6
UD
85 stw r0,8(r1) #save LR in callers frame
86 blr #return
9759bbf1 87END (_savegpr0_all)