1/* Copyright (C) 2000-2022 Free Software Foundation, Inc. 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 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. 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 12 Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public 15 License along with the GNU C Library; if not, see 16 <https://www.gnu.org/licenses/>. */ 17 18/* 19 Floating Point Registers (FPRs) save routine 20*/ 21 22#include <sysdep.h> 23 24ENTRY(_savefpr_all) 25 .globl C_TEXT(_savef14) 26 .globl C_TEXT(_savefpr_14) 27C_TEXT(_savef14): 28C_TEXT(_savefpr_14): stfd fp14,-144(r1) 29 cfi_offset(fp14,-144) 30 .globl C_TEXT(_savef15) 31 .globl C_TEXT(_savefpr_15) 32C_TEXT(_savef15): 33C_TEXT(_savefpr_15): stfd fp15,-136(r1) 34 cfi_offset(fp15,-136) 35 .globl C_TEXT(_savef16) 36 .globl C_TEXT(_savefpr_16) 37C_TEXT(_savef16): 38C_TEXT(_savefpr_16): stfd fp16,-128(r1) 39 cfi_offset(fp16,-128) 40 .globl C_TEXT(_savef17) 41 .globl C_TEXT(_savefpr_17) 42C_TEXT(_savef17): 43C_TEXT(_savefpr_17): stfd fp17,-120(r1) 44 cfi_offset(fp17,-120) 45 .globl C_TEXT(_savef18) 46 .globl C_TEXT(_savefpr_18) 47C_TEXT(_savef18): 48C_TEXT(_savefpr_18): stfd fp18,-112(r1) 49 cfi_offset(fp18,-112) 50 .globl C_TEXT(_savef19) 51 .globl C_TEXT(_savefpr_19) 52C_TEXT(_savef19): 53C_TEXT(_savefpr_19): stfd fp19,-104(r1) 54 cfi_offset(fp19,-104) 55 .globl C_TEXT(_savef20) 56 .globl C_TEXT(_savefpr_20) 57C_TEXT(_savef20): 58C_TEXT(_savefpr_20): stfd fp20,-96(r1) 59 cfi_offset(fp20,-96) 60 .globl C_TEXT(_savef21) 61 .globl C_TEXT(_savefpr_21) 62C_TEXT(_savef21): 63C_TEXT(_savefpr_21): stfd fp21,-88(r1) 64 cfi_offset(fp21,-88) 65 .globl C_TEXT(_savef22) 66 .globl C_TEXT(_savefpr_22) 67C_TEXT(_savef22): 68C_TEXT(_savefpr_22): stfd fp22,-80(r1) 69 cfi_offset(fp22,-80) 70 .globl C_TEXT(_savef23) 71 .globl C_TEXT(_savefpr_23) 72C_TEXT(_savef23): 73C_TEXT(_savefpr_23): stfd fp23,-72(r1) 74 cfi_offset(fp23,-72) 75 .globl C_TEXT(_savef24) 76 .globl C_TEXT(_savefpr_24) 77C_TEXT(_savef24): 78C_TEXT(_savefpr_24): stfd fp24,-64(r1) 79 cfi_offset(fp24,-64) 80 .globl C_TEXT(_savef25) 81 .globl C_TEXT(_savefpr_25) 82C_TEXT(_savef25): 83C_TEXT(_savefpr_25): stfd fp25,-56(r1) 84 cfi_offset(fp25,-56) 85 .globl C_TEXT(_savef26) 86 .globl C_TEXT(_savefpr_26) 87C_TEXT(_savef26): 88C_TEXT(_savefpr_26): stfd fp26,-48(r1) 89 cfi_offset(fp26,-48) 90 .globl C_TEXT(_savef27) 91 .globl C_TEXT(_savefpr_27) 92C_TEXT(_savef27): 93C_TEXT(_savefpr_27): stfd fp27,-40(r1) 94 cfi_offset(fp27,-40) 95 .globl C_TEXT(_savef28) 96 .globl C_TEXT(_savefpr_28) 97C_TEXT(_savef28): 98C_TEXT(_savefpr_28): stfd fp28,-32(r1) 99 cfi_offset(fp28,-32) 100 .globl C_TEXT(_savef29) 101 .globl C_TEXT(_savefpr_29) 102C_TEXT(_savef29): 103C_TEXT(_savefpr_29): stfd fp29,-24(r1) #save f29 104 stfd fp30,-16(r1) #save f30 105 stfd fp31,-8(r1) #save f31 106 cfi_offset(fp29,-24) 107 cfi_offset(fp30,-16) 108 cfi_offset(fp31,-8) 109 stw r0,8(r1) #save LR in callers frame 110 blr #return 111END (_savefpr_all) 112