diff options
Diffstat (limited to 'sysdeps/powerpc/fprsave.S')
-rw-r--r-- | sysdeps/powerpc/fprsave.S | 112 |
1 files changed, 74 insertions, 38 deletions
diff --git a/sysdeps/powerpc/fprsave.S b/sysdeps/powerpc/fprsave.S index 8c4e186d76..dfc0c440c9 100644 --- a/sysdeps/powerpc/fprsave.S +++ b/sysdeps/powerpc/fprsave.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,42 +16,78 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +/* + Floating Point Registers (FPRs) save routine +*/ + #include <sysdep.h> - ASM_GLOBAL_DIRECTIVE _savefpr_14 -_savefpr_14: stfd fp14,-144(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_15 -_savefpr_15: stfd fp15,-136(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_16 -_savefpr_16: stfd fp16,-128(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_17 -_savefpr_17: stfd fp17,-120(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_18 -_savefpr_18: stfd fp18,-112(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_19 -_savefpr_19: stfd fp19,-104(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_20 -_savefpr_20: stfd fp20,-96(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_21 -_savefpr_21: stfd fp21,-88(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_22 -_savefpr_22: stfd fp22,-80(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_23 -_savefpr_23: stfd fp23,-72(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_24 -_savefpr_24: stfd fp24,-64(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_25 -_savefpr_25: stfd fp25,-56(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_26 -_savefpr_26: stfd fp26,-48(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_27 -_savefpr_27: stfd fp27,-40(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_28 -_savefpr_28: stfd fp28,-32(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_29 -_savefpr_29: stfd fp29,-24(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_30 -_savefpr_30: stfd fp30,-16(r11) - ASM_GLOBAL_DIRECTIVE _savefpr_31 -_savefpr_31: stfd fp31,-8(r11) - blr +ENTRY(_savefpr_all) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savef14) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_14) +C_TEXT(_savef14): +C_TEXT(_savefpr_14): stfd fp14,-144(r1) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savef15) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_15) +C_TEXT(_savef15): +C_TEXT(_savefpr_15): stfd fp15,-136(r1) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savef16) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_16) +C_TEXT(_savef16): +C_TEXT(_savefpr_16): stfd fp16,-128(r1) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savef17) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_17) +C_TEXT(_savef17): +C_TEXT(_savefpr_17): stfd fp17,-120(r1) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savef18) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_18) +C_TEXT(_savef18): +C_TEXT(_savefpr_18): stfd fp18,-112(r1) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savef19) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_19) +C_TEXT(_savef19): +C_TEXT(_savefpr_19): stfd fp19,-104(r1) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savef20) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_20) +C_TEXT(_savef20): +C_TEXT(_savefpr_20): stfd fp20,-96(r1) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savef21) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_21) +C_TEXT(_savef21): +C_TEXT(_savefpr_21): stfd fp21,-88(r1) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savef22) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_22) +C_TEXT(_savef22): +C_TEXT(_savefpr_22): stfd fp22,-80(r1) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savef23) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_23) +C_TEXT(_savef23): +C_TEXT(_savefpr_23): stfd fp23,-72(r1) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savef24) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_24) +C_TEXT(_savef24): +C_TEXT(_savefpr_24): stfd fp24,-64(r1) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savef25) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_25) +C_TEXT(_savef25): +C_TEXT(_savefpr_25): stfd fp25,-56(r1) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savef26) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_26) +C_TEXT(_savef26): +C_TEXT(_savefpr_26): stfd fp26,-48(r1) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savef27) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_27) +C_TEXT(_savef27): +C_TEXT(_savefpr_27): stfd fp27,-40(r1) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savef28) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_28) +C_TEXT(_savef28): +C_TEXT(_savefpr_28): stfd fp28,-32(r1) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savef29) + ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_29) +C_TEXT(_savef29): +C_TEXT(_savefpr_29): stfd fp29,-24(r1) #save f29 + stfd fp30,-16(r1) #save f30 + stfd fp31,-8(r1) #save f31 + stw r0,8(r1) #save LR in callers frame + blr #return |