Changeset 3ddf3b5 in rtems


Ignore:
Timestamp:
Nov 14, 2001, 8:14:35 PM (19 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
2b5c094
Parents:
2c033b0b
Message:

2001-11-14 Till Straumann <strauman@…>

  • new_exception_processing/cpu_asm.S: Support double or single precision context switches. Note that doing a single precision context save/restore on a double precision PowerPC machine does not only result in rounding errors but also screws up the FPSCR register!
Location:
c/src/lib
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/support/new_exception_processing/cpu_asm.S

    r2c033b0b r3ddf3b5  
    6767        .set    GP_MSR, (GP_PC + 4)
    6868
     69#if (PPC_HAS_DOUBLE==1)
     70        .set    FP_SIZE,        8
     71#define LDF     lfd
     72#define STF     stfd
     73#else
     74        .set    FP_SIZE,        4
     75#define LDF     lfs
     76#define STF     stfs
     77#endif
     78
    6979        .set    FP_0, 0
    70         .set    FP_1, (FP_0 + 4)
    71         .set    FP_2, (FP_1 + 4)
    72         .set    FP_3, (FP_2 + 4)
    73         .set    FP_4, (FP_3 + 4)
    74         .set    FP_5, (FP_4 + 4)
    75         .set    FP_6, (FP_5 + 4)
    76         .set    FP_7, (FP_6 + 4)
    77         .set    FP_8, (FP_7 + 4)
    78         .set    FP_9, (FP_8 + 4)
    79         .set    FP_10, (FP_9 + 4)
    80         .set    FP_11, (FP_10 + 4)
    81         .set    FP_12, (FP_11 + 4)
    82         .set    FP_13, (FP_12 + 4)
    83         .set    FP_14, (FP_13 + 4)
    84         .set    FP_15, (FP_14 + 4)
    85         .set    FP_16, (FP_15 + 4)
    86         .set    FP_17, (FP_16 + 4)
    87         .set    FP_18, (FP_17 + 4)
    88         .set    FP_19, (FP_18 + 4)
    89         .set    FP_20, (FP_19 + 4)
    90         .set    FP_21, (FP_20 + 4)
    91         .set    FP_22, (FP_21 + 4)
    92         .set    FP_23, (FP_22 + 4)
    93         .set    FP_24, (FP_23 + 4)
    94         .set    FP_25, (FP_24 + 4)
    95         .set    FP_26, (FP_25 + 4)
    96         .set    FP_27, (FP_26 + 4)
    97         .set    FP_28, (FP_27 + 4)
    98         .set    FP_29, (FP_28 + 4)
    99         .set    FP_30, (FP_29 + 4)
    100         .set    FP_31, (FP_30 + 4)
    101         .set    FP_FPSCR, (FP_31 + 4)
     80        .set    FP_1, (FP_0 + FP_SIZE)
     81        .set    FP_2, (FP_1 + FP_SIZE)
     82        .set    FP_3, (FP_2 + FP_SIZE)
     83        .set    FP_4, (FP_3 + FP_SIZE)
     84        .set    FP_5, (FP_4 + FP_SIZE)
     85        .set    FP_6, (FP_5 + FP_SIZE)
     86        .set    FP_7, (FP_6 + FP_SIZE)
     87        .set    FP_8, (FP_7 + FP_SIZE)
     88        .set    FP_9, (FP_8 + FP_SIZE)
     89        .set    FP_10, (FP_9 + FP_SIZE)
     90        .set    FP_11, (FP_10 + FP_SIZE)
     91        .set    FP_12, (FP_11 + FP_SIZE)
     92        .set    FP_13, (FP_12 + FP_SIZE)
     93        .set    FP_14, (FP_13 + FP_SIZE)
     94        .set    FP_15, (FP_14 + FP_SIZE)
     95        .set    FP_16, (FP_15 + FP_SIZE)
     96        .set    FP_17, (FP_16 + FP_SIZE)
     97        .set    FP_18, (FP_17 + FP_SIZE)
     98        .set    FP_19, (FP_18 + FP_SIZE)
     99        .set    FP_20, (FP_19 + FP_SIZE)
     100        .set    FP_21, (FP_20 + FP_SIZE)
     101        .set    FP_22, (FP_21 + FP_SIZE)
     102        .set    FP_23, (FP_22 + FP_SIZE)
     103        .set    FP_24, (FP_23 + FP_SIZE)
     104        .set    FP_25, (FP_24 + FP_SIZE)
     105        .set    FP_26, (FP_25 + FP_SIZE)
     106        .set    FP_27, (FP_26 + FP_SIZE)
     107        .set    FP_28, (FP_27 + FP_SIZE)
     108        .set    FP_29, (FP_28 + FP_SIZE)
     109        .set    FP_30, (FP_29 + FP_SIZE)
     110        .set    FP_31, (FP_30 + FP_SIZE)
     111        .set    FP_FPSCR, (FP_31 + FP_SIZE)
    102112       
    103113        .set    IP_LINK, 0
     
    152162#if (PPC_HAS_FPU == 1)
    153163        lwz     r3, 0(r3)
    154         stfs    f0, FP_0(r3)
    155         stfs    f1, FP_1(r3)
    156         stfs    f2, FP_2(r3)
    157         stfs    f3, FP_3(r3)
    158         stfs    f4, FP_4(r3)
    159         stfs    f5, FP_5(r3)
    160         stfs    f6, FP_6(r3)
    161         stfs    f7, FP_7(r3)
    162         stfs    f8, FP_8(r3)
    163         stfs    f9, FP_9(r3)
    164         stfs    f10, FP_10(r3)
    165         stfs    f11, FP_11(r3)
    166         stfs    f12, FP_12(r3)
    167         stfs    f13, FP_13(r3)
    168         stfs    f14, FP_14(r3)
    169         stfs    f15, FP_15(r3)
    170         stfs    f16, FP_16(r3)
    171         stfs    f17, FP_17(r3)
    172         stfs    f18, FP_18(r3)
    173         stfs    f19, FP_19(r3)
    174         stfs    f20, FP_20(r3)
    175         stfs    f21, FP_21(r3)
    176         stfs    f22, FP_22(r3)
    177         stfs    f23, FP_23(r3)
    178         stfs    f24, FP_24(r3)
    179         stfs    f25, FP_25(r3)
    180         stfs    f26, FP_26(r3)
    181         stfs    f27, FP_27(r3)
    182         stfs    f28, FP_28(r3)
    183         stfs    f29, FP_29(r3)
    184         stfs    f30, FP_30(r3)
    185         stfs    f31, FP_31(r3)
     164        STF     f0, FP_0(r3)
     165        STF     f1, FP_1(r3)
     166        STF     f2, FP_2(r3)
     167        STF     f3, FP_3(r3)
     168        STF     f4, FP_4(r3)
     169        STF     f5, FP_5(r3)
     170        STF     f6, FP_6(r3)
     171        STF     f7, FP_7(r3)
     172        STF     f8, FP_8(r3)
     173        STF     f9, FP_9(r3)
     174        STF     f10, FP_10(r3)
     175        STF     f11, FP_11(r3)
     176        STF     f12, FP_12(r3)
     177        STF     f13, FP_13(r3)
     178        STF     f14, FP_14(r3)
     179        STF     f15, FP_15(r3)
     180        STF     f16, FP_16(r3)
     181        STF     f17, FP_17(r3)
     182        STF     f18, FP_18(r3)
     183        STF     f19, FP_19(r3)
     184        STF     f20, FP_20(r3)
     185        STF     f21, FP_21(r3)
     186        STF     f22, FP_22(r3)
     187        STF     f23, FP_23(r3)
     188        STF     f24, FP_24(r3)
     189        STF     f25, FP_25(r3)
     190        STF     f26, FP_26(r3)
     191        STF     f27, FP_27(r3)
     192        STF     f28, FP_28(r3)
     193        STF     f29, FP_29(r3)
     194        STF     f30, FP_30(r3)
     195        STF     f31, FP_31(r3)
    186196        mffs    f2
    187         stfs    f2, FP_FPSCR(r3)
     197        STF     f2, FP_FPSCR(r3)
    188198#endif
    189199        blr
     
    207217#if (PPC_HAS_FPU == 1)
    208218        lwz     r3, 0(r3)
    209         lfs     f2, FP_FPSCR(r3)
     219        LDF     f2, FP_FPSCR(r3)
    210220        mtfsf   255, f2
    211         lfs     f0, FP_0(r3)
    212         lfs     f1, FP_1(r3)
    213         lfs     f2, FP_2(r3)
    214         lfs     f3, FP_3(r3)
    215         lfs     f4, FP_4(r3)
    216         lfs     f5, FP_5(r3)
    217         lfs     f6, FP_6(r3)
    218         lfs     f7, FP_7(r3)
    219         lfs     f8, FP_8(r3)
    220         lfs     f9, FP_9(r3)
    221         lfs     f10, FP_10(r3)
    222         lfs     f11, FP_11(r3)
    223         lfs     f12, FP_12(r3)
    224         lfs     f13, FP_13(r3)
    225         lfs     f14, FP_14(r3)
    226         lfs     f15, FP_15(r3)
    227         lfs     f16, FP_16(r3)
    228         lfs     f17, FP_17(r3)
    229         lfs     f18, FP_18(r3)
    230         lfs     f19, FP_19(r3)
    231         lfs     f20, FP_20(r3)
    232         lfs     f21, FP_21(r3)
    233         lfs     f22, FP_22(r3)
    234         lfs     f23, FP_23(r3)
    235         lfs     f24, FP_24(r3)
    236         lfs     f25, FP_25(r3)
    237         lfs     f26, FP_26(r3)
    238         lfs     f27, FP_27(r3)
    239         lfs     f28, FP_28(r3)
    240         lfs     f29, FP_29(r3)
    241         lfs     f30, FP_30(r3)
    242         lfs     f31, FP_31(r3)
     221        LDF     f0, FP_0(r3)
     222        LDF     f1, FP_1(r3)
     223        LDF     f2, FP_2(r3)
     224        LDF     f3, FP_3(r3)
     225        LDF     f4, FP_4(r3)
     226        LDF     f5, FP_5(r3)
     227        LDF     f6, FP_6(r3)
     228        LDF     f7, FP_7(r3)
     229        LDF     f8, FP_8(r3)
     230        LDF     f9, FP_9(r3)
     231        LDF     f10, FP_10(r3)
     232        LDF     f11, FP_11(r3)
     233        LDF     f12, FP_12(r3)
     234        LDF     f13, FP_13(r3)
     235        LDF     f14, FP_14(r3)
     236        LDF     f15, FP_15(r3)
     237        LDF     f16, FP_16(r3)
     238        LDF     f17, FP_17(r3)
     239        LDF     f18, FP_18(r3)
     240        LDF     f19, FP_19(r3)
     241        LDF     f20, FP_20(r3)
     242        LDF     f21, FP_21(r3)
     243        LDF     f22, FP_22(r3)
     244        LDF     f23, FP_23(r3)
     245        LDF     f24, FP_24(r3)
     246        LDF     f25, FP_25(r3)
     247        LDF     f26, FP_26(r3)
     248        LDF     f27, FP_27(r3)
     249        LDF     f28, FP_28(r3)
     250        LDF     f29, FP_29(r3)
     251        LDF     f30, FP_30(r3)
     252        LDF     f31, FP_31(r3)
    243253#endif
    244254        blr
  • c/src/lib/libcpu/powerpc/ChangeLog

    r2c033b0b r3ddf3b5  
     12001-11-14      Till Straumann <strauman@SLAC.Stanford.EDU>
     2
     3       
     4        * new_exception_processing/cpu_asm.S: Support double or single
     5        precision context switches.  Note that doing a single precision
     6        context save/restore on a double precision PowerPC machine does not
     7        only result in rounding errors but also screws up the FPSCR register!
     8
    192001-11-08      Dennis Ehlin (ECS) <Dennis.Ehlin@ecs.ericsson.se>
    210
  • c/src/lib/libcpu/powerpc/new-exceptions/cpu_asm.S

    r2c033b0b r3ddf3b5  
    6767        .set    GP_MSR, (GP_PC + 4)
    6868
     69#if (PPC_HAS_DOUBLE==1)
     70        .set    FP_SIZE,        8
     71#define LDF     lfd
     72#define STF     stfd
     73#else
     74        .set    FP_SIZE,        4
     75#define LDF     lfs
     76#define STF     stfs
     77#endif
     78
    6979        .set    FP_0, 0
    70         .set    FP_1, (FP_0 + 4)
    71         .set    FP_2, (FP_1 + 4)
    72         .set    FP_3, (FP_2 + 4)
    73         .set    FP_4, (FP_3 + 4)
    74         .set    FP_5, (FP_4 + 4)
    75         .set    FP_6, (FP_5 + 4)
    76         .set    FP_7, (FP_6 + 4)
    77         .set    FP_8, (FP_7 + 4)
    78         .set    FP_9, (FP_8 + 4)
    79         .set    FP_10, (FP_9 + 4)
    80         .set    FP_11, (FP_10 + 4)
    81         .set    FP_12, (FP_11 + 4)
    82         .set    FP_13, (FP_12 + 4)
    83         .set    FP_14, (FP_13 + 4)
    84         .set    FP_15, (FP_14 + 4)
    85         .set    FP_16, (FP_15 + 4)
    86         .set    FP_17, (FP_16 + 4)
    87         .set    FP_18, (FP_17 + 4)
    88         .set    FP_19, (FP_18 + 4)
    89         .set    FP_20, (FP_19 + 4)
    90         .set    FP_21, (FP_20 + 4)
    91         .set    FP_22, (FP_21 + 4)
    92         .set    FP_23, (FP_22 + 4)
    93         .set    FP_24, (FP_23 + 4)
    94         .set    FP_25, (FP_24 + 4)
    95         .set    FP_26, (FP_25 + 4)
    96         .set    FP_27, (FP_26 + 4)
    97         .set    FP_28, (FP_27 + 4)
    98         .set    FP_29, (FP_28 + 4)
    99         .set    FP_30, (FP_29 + 4)
    100         .set    FP_31, (FP_30 + 4)
    101         .set    FP_FPSCR, (FP_31 + 4)
     80        .set    FP_1, (FP_0 + FP_SIZE)
     81        .set    FP_2, (FP_1 + FP_SIZE)
     82        .set    FP_3, (FP_2 + FP_SIZE)
     83        .set    FP_4, (FP_3 + FP_SIZE)
     84        .set    FP_5, (FP_4 + FP_SIZE)
     85        .set    FP_6, (FP_5 + FP_SIZE)
     86        .set    FP_7, (FP_6 + FP_SIZE)
     87        .set    FP_8, (FP_7 + FP_SIZE)
     88        .set    FP_9, (FP_8 + FP_SIZE)
     89        .set    FP_10, (FP_9 + FP_SIZE)
     90        .set    FP_11, (FP_10 + FP_SIZE)
     91        .set    FP_12, (FP_11 + FP_SIZE)
     92        .set    FP_13, (FP_12 + FP_SIZE)
     93        .set    FP_14, (FP_13 + FP_SIZE)
     94        .set    FP_15, (FP_14 + FP_SIZE)
     95        .set    FP_16, (FP_15 + FP_SIZE)
     96        .set    FP_17, (FP_16 + FP_SIZE)
     97        .set    FP_18, (FP_17 + FP_SIZE)
     98        .set    FP_19, (FP_18 + FP_SIZE)
     99        .set    FP_20, (FP_19 + FP_SIZE)
     100        .set    FP_21, (FP_20 + FP_SIZE)
     101        .set    FP_22, (FP_21 + FP_SIZE)
     102        .set    FP_23, (FP_22 + FP_SIZE)
     103        .set    FP_24, (FP_23 + FP_SIZE)
     104        .set    FP_25, (FP_24 + FP_SIZE)
     105        .set    FP_26, (FP_25 + FP_SIZE)
     106        .set    FP_27, (FP_26 + FP_SIZE)
     107        .set    FP_28, (FP_27 + FP_SIZE)
     108        .set    FP_29, (FP_28 + FP_SIZE)
     109        .set    FP_30, (FP_29 + FP_SIZE)
     110        .set    FP_31, (FP_30 + FP_SIZE)
     111        .set    FP_FPSCR, (FP_31 + FP_SIZE)
    102112       
    103113        .set    IP_LINK, 0
     
    152162#if (PPC_HAS_FPU == 1)
    153163        lwz     r3, 0(r3)
    154         stfs    f0, FP_0(r3)
    155         stfs    f1, FP_1(r3)
    156         stfs    f2, FP_2(r3)
    157         stfs    f3, FP_3(r3)
    158         stfs    f4, FP_4(r3)
    159         stfs    f5, FP_5(r3)
    160         stfs    f6, FP_6(r3)
    161         stfs    f7, FP_7(r3)
    162         stfs    f8, FP_8(r3)
    163         stfs    f9, FP_9(r3)
    164         stfs    f10, FP_10(r3)
    165         stfs    f11, FP_11(r3)
    166         stfs    f12, FP_12(r3)
    167         stfs    f13, FP_13(r3)
    168         stfs    f14, FP_14(r3)
    169         stfs    f15, FP_15(r3)
    170         stfs    f16, FP_16(r3)
    171         stfs    f17, FP_17(r3)
    172         stfs    f18, FP_18(r3)
    173         stfs    f19, FP_19(r3)
    174         stfs    f20, FP_20(r3)
    175         stfs    f21, FP_21(r3)
    176         stfs    f22, FP_22(r3)
    177         stfs    f23, FP_23(r3)
    178         stfs    f24, FP_24(r3)
    179         stfs    f25, FP_25(r3)
    180         stfs    f26, FP_26(r3)
    181         stfs    f27, FP_27(r3)
    182         stfs    f28, FP_28(r3)
    183         stfs    f29, FP_29(r3)
    184         stfs    f30, FP_30(r3)
    185         stfs    f31, FP_31(r3)
     164        STF     f0, FP_0(r3)
     165        STF     f1, FP_1(r3)
     166        STF     f2, FP_2(r3)
     167        STF     f3, FP_3(r3)
     168        STF     f4, FP_4(r3)
     169        STF     f5, FP_5(r3)
     170        STF     f6, FP_6(r3)
     171        STF     f7, FP_7(r3)
     172        STF     f8, FP_8(r3)
     173        STF     f9, FP_9(r3)
     174        STF     f10, FP_10(r3)
     175        STF     f11, FP_11(r3)
     176        STF     f12, FP_12(r3)
     177        STF     f13, FP_13(r3)
     178        STF     f14, FP_14(r3)
     179        STF     f15, FP_15(r3)
     180        STF     f16, FP_16(r3)
     181        STF     f17, FP_17(r3)
     182        STF     f18, FP_18(r3)
     183        STF     f19, FP_19(r3)
     184        STF     f20, FP_20(r3)
     185        STF     f21, FP_21(r3)
     186        STF     f22, FP_22(r3)
     187        STF     f23, FP_23(r3)
     188        STF     f24, FP_24(r3)
     189        STF     f25, FP_25(r3)
     190        STF     f26, FP_26(r3)
     191        STF     f27, FP_27(r3)
     192        STF     f28, FP_28(r3)
     193        STF     f29, FP_29(r3)
     194        STF     f30, FP_30(r3)
     195        STF     f31, FP_31(r3)
    186196        mffs    f2
    187         stfs    f2, FP_FPSCR(r3)
     197        STF     f2, FP_FPSCR(r3)
    188198#endif
    189199        blr
     
    207217#if (PPC_HAS_FPU == 1)
    208218        lwz     r3, 0(r3)
    209         lfs     f2, FP_FPSCR(r3)
     219        LDF     f2, FP_FPSCR(r3)
    210220        mtfsf   255, f2
    211         lfs     f0, FP_0(r3)
    212         lfs     f1, FP_1(r3)
    213         lfs     f2, FP_2(r3)
    214         lfs     f3, FP_3(r3)
    215         lfs     f4, FP_4(r3)
    216         lfs     f5, FP_5(r3)
    217         lfs     f6, FP_6(r3)
    218         lfs     f7, FP_7(r3)
    219         lfs     f8, FP_8(r3)
    220         lfs     f9, FP_9(r3)
    221         lfs     f10, FP_10(r3)
    222         lfs     f11, FP_11(r3)
    223         lfs     f12, FP_12(r3)
    224         lfs     f13, FP_13(r3)
    225         lfs     f14, FP_14(r3)
    226         lfs     f15, FP_15(r3)
    227         lfs     f16, FP_16(r3)
    228         lfs     f17, FP_17(r3)
    229         lfs     f18, FP_18(r3)
    230         lfs     f19, FP_19(r3)
    231         lfs     f20, FP_20(r3)
    232         lfs     f21, FP_21(r3)
    233         lfs     f22, FP_22(r3)
    234         lfs     f23, FP_23(r3)
    235         lfs     f24, FP_24(r3)
    236         lfs     f25, FP_25(r3)
    237         lfs     f26, FP_26(r3)
    238         lfs     f27, FP_27(r3)
    239         lfs     f28, FP_28(r3)
    240         lfs     f29, FP_29(r3)
    241         lfs     f30, FP_30(r3)
    242         lfs     f31, FP_31(r3)
     221        LDF     f0, FP_0(r3)
     222        LDF     f1, FP_1(r3)
     223        LDF     f2, FP_2(r3)
     224        LDF     f3, FP_3(r3)
     225        LDF     f4, FP_4(r3)
     226        LDF     f5, FP_5(r3)
     227        LDF     f6, FP_6(r3)
     228        LDF     f7, FP_7(r3)
     229        LDF     f8, FP_8(r3)
     230        LDF     f9, FP_9(r3)
     231        LDF     f10, FP_10(r3)
     232        LDF     f11, FP_11(r3)
     233        LDF     f12, FP_12(r3)
     234        LDF     f13, FP_13(r3)
     235        LDF     f14, FP_14(r3)
     236        LDF     f15, FP_15(r3)
     237        LDF     f16, FP_16(r3)
     238        LDF     f17, FP_17(r3)
     239        LDF     f18, FP_18(r3)
     240        LDF     f19, FP_19(r3)
     241        LDF     f20, FP_20(r3)
     242        LDF     f21, FP_21(r3)
     243        LDF     f22, FP_22(r3)
     244        LDF     f23, FP_23(r3)
     245        LDF     f24, FP_24(r3)
     246        LDF     f25, FP_25(r3)
     247        LDF     f26, FP_26(r3)
     248        LDF     f27, FP_27(r3)
     249        LDF     f28, FP_28(r3)
     250        LDF     f29, FP_29(r3)
     251        LDF     f30, FP_30(r3)
     252        LDF     f31, FP_31(r3)
    243253#endif
    244254        blr
  • c/src/lib/libcpu/powerpc/new_exception_processing/cpu_asm.S

    r2c033b0b r3ddf3b5  
    6767        .set    GP_MSR, (GP_PC + 4)
    6868
     69#if (PPC_HAS_DOUBLE==1)
     70        .set    FP_SIZE,        8
     71#define LDF     lfd
     72#define STF     stfd
     73#else
     74        .set    FP_SIZE,        4
     75#define LDF     lfs
     76#define STF     stfs
     77#endif
     78
    6979        .set    FP_0, 0
    70         .set    FP_1, (FP_0 + 4)
    71         .set    FP_2, (FP_1 + 4)
    72         .set    FP_3, (FP_2 + 4)
    73         .set    FP_4, (FP_3 + 4)
    74         .set    FP_5, (FP_4 + 4)
    75         .set    FP_6, (FP_5 + 4)
    76         .set    FP_7, (FP_6 + 4)
    77         .set    FP_8, (FP_7 + 4)
    78         .set    FP_9, (FP_8 + 4)
    79         .set    FP_10, (FP_9 + 4)
    80         .set    FP_11, (FP_10 + 4)
    81         .set    FP_12, (FP_11 + 4)
    82         .set    FP_13, (FP_12 + 4)
    83         .set    FP_14, (FP_13 + 4)
    84         .set    FP_15, (FP_14 + 4)
    85         .set    FP_16, (FP_15 + 4)
    86         .set    FP_17, (FP_16 + 4)
    87         .set    FP_18, (FP_17 + 4)
    88         .set    FP_19, (FP_18 + 4)
    89         .set    FP_20, (FP_19 + 4)
    90         .set    FP_21, (FP_20 + 4)
    91         .set    FP_22, (FP_21 + 4)
    92         .set    FP_23, (FP_22 + 4)
    93         .set    FP_24, (FP_23 + 4)
    94         .set    FP_25, (FP_24 + 4)
    95         .set    FP_26, (FP_25 + 4)
    96         .set    FP_27, (FP_26 + 4)
    97         .set    FP_28, (FP_27 + 4)
    98         .set    FP_29, (FP_28 + 4)
    99         .set    FP_30, (FP_29 + 4)
    100         .set    FP_31, (FP_30 + 4)
    101         .set    FP_FPSCR, (FP_31 + 4)
     80        .set    FP_1, (FP_0 + FP_SIZE)
     81        .set    FP_2, (FP_1 + FP_SIZE)
     82        .set    FP_3, (FP_2 + FP_SIZE)
     83        .set    FP_4, (FP_3 + FP_SIZE)
     84        .set    FP_5, (FP_4 + FP_SIZE)
     85        .set    FP_6, (FP_5 + FP_SIZE)
     86        .set    FP_7, (FP_6 + FP_SIZE)
     87        .set    FP_8, (FP_7 + FP_SIZE)
     88        .set    FP_9, (FP_8 + FP_SIZE)
     89        .set    FP_10, (FP_9 + FP_SIZE)
     90        .set    FP_11, (FP_10 + FP_SIZE)
     91        .set    FP_12, (FP_11 + FP_SIZE)
     92        .set    FP_13, (FP_12 + FP_SIZE)
     93        .set    FP_14, (FP_13 + FP_SIZE)
     94        .set    FP_15, (FP_14 + FP_SIZE)
     95        .set    FP_16, (FP_15 + FP_SIZE)
     96        .set    FP_17, (FP_16 + FP_SIZE)
     97        .set    FP_18, (FP_17 + FP_SIZE)
     98        .set    FP_19, (FP_18 + FP_SIZE)
     99        .set    FP_20, (FP_19 + FP_SIZE)
     100        .set    FP_21, (FP_20 + FP_SIZE)
     101        .set    FP_22, (FP_21 + FP_SIZE)
     102        .set    FP_23, (FP_22 + FP_SIZE)
     103        .set    FP_24, (FP_23 + FP_SIZE)
     104        .set    FP_25, (FP_24 + FP_SIZE)
     105        .set    FP_26, (FP_25 + FP_SIZE)
     106        .set    FP_27, (FP_26 + FP_SIZE)
     107        .set    FP_28, (FP_27 + FP_SIZE)
     108        .set    FP_29, (FP_28 + FP_SIZE)
     109        .set    FP_30, (FP_29 + FP_SIZE)
     110        .set    FP_31, (FP_30 + FP_SIZE)
     111        .set    FP_FPSCR, (FP_31 + FP_SIZE)
    102112       
    103113        .set    IP_LINK, 0
     
    152162#if (PPC_HAS_FPU == 1)
    153163        lwz     r3, 0(r3)
    154         stfs    f0, FP_0(r3)
    155         stfs    f1, FP_1(r3)
    156         stfs    f2, FP_2(r3)
    157         stfs    f3, FP_3(r3)
    158         stfs    f4, FP_4(r3)
    159         stfs    f5, FP_5(r3)
    160         stfs    f6, FP_6(r3)
    161         stfs    f7, FP_7(r3)
    162         stfs    f8, FP_8(r3)
    163         stfs    f9, FP_9(r3)
    164         stfs    f10, FP_10(r3)
    165         stfs    f11, FP_11(r3)
    166         stfs    f12, FP_12(r3)
    167         stfs    f13, FP_13(r3)
    168         stfs    f14, FP_14(r3)
    169         stfs    f15, FP_15(r3)
    170         stfs    f16, FP_16(r3)
    171         stfs    f17, FP_17(r3)
    172         stfs    f18, FP_18(r3)
    173         stfs    f19, FP_19(r3)
    174         stfs    f20, FP_20(r3)
    175         stfs    f21, FP_21(r3)
    176         stfs    f22, FP_22(r3)
    177         stfs    f23, FP_23(r3)
    178         stfs    f24, FP_24(r3)
    179         stfs    f25, FP_25(r3)
    180         stfs    f26, FP_26(r3)
    181         stfs    f27, FP_27(r3)
    182         stfs    f28, FP_28(r3)
    183         stfs    f29, FP_29(r3)
    184         stfs    f30, FP_30(r3)
    185         stfs    f31, FP_31(r3)
     164        STF     f0, FP_0(r3)
     165        STF     f1, FP_1(r3)
     166        STF     f2, FP_2(r3)
     167        STF     f3, FP_3(r3)
     168        STF     f4, FP_4(r3)
     169        STF     f5, FP_5(r3)
     170        STF     f6, FP_6(r3)
     171        STF     f7, FP_7(r3)
     172        STF     f8, FP_8(r3)
     173        STF     f9, FP_9(r3)
     174        STF     f10, FP_10(r3)
     175        STF     f11, FP_11(r3)
     176        STF     f12, FP_12(r3)
     177        STF     f13, FP_13(r3)
     178        STF     f14, FP_14(r3)
     179        STF     f15, FP_15(r3)
     180        STF     f16, FP_16(r3)
     181        STF     f17, FP_17(r3)
     182        STF     f18, FP_18(r3)
     183        STF     f19, FP_19(r3)
     184        STF     f20, FP_20(r3)
     185        STF     f21, FP_21(r3)
     186        STF     f22, FP_22(r3)
     187        STF     f23, FP_23(r3)
     188        STF     f24, FP_24(r3)
     189        STF     f25, FP_25(r3)
     190        STF     f26, FP_26(r3)
     191        STF     f27, FP_27(r3)
     192        STF     f28, FP_28(r3)
     193        STF     f29, FP_29(r3)
     194        STF     f30, FP_30(r3)
     195        STF     f31, FP_31(r3)
    186196        mffs    f2
    187         stfs    f2, FP_FPSCR(r3)
     197        STF     f2, FP_FPSCR(r3)
    188198#endif
    189199        blr
     
    207217#if (PPC_HAS_FPU == 1)
    208218        lwz     r3, 0(r3)
    209         lfs     f2, FP_FPSCR(r3)
     219        LDF     f2, FP_FPSCR(r3)
    210220        mtfsf   255, f2
    211         lfs     f0, FP_0(r3)
    212         lfs     f1, FP_1(r3)
    213         lfs     f2, FP_2(r3)
    214         lfs     f3, FP_3(r3)
    215         lfs     f4, FP_4(r3)
    216         lfs     f5, FP_5(r3)
    217         lfs     f6, FP_6(r3)
    218         lfs     f7, FP_7(r3)
    219         lfs     f8, FP_8(r3)
    220         lfs     f9, FP_9(r3)
    221         lfs     f10, FP_10(r3)
    222         lfs     f11, FP_11(r3)
    223         lfs     f12, FP_12(r3)
    224         lfs     f13, FP_13(r3)
    225         lfs     f14, FP_14(r3)
    226         lfs     f15, FP_15(r3)
    227         lfs     f16, FP_16(r3)
    228         lfs     f17, FP_17(r3)
    229         lfs     f18, FP_18(r3)
    230         lfs     f19, FP_19(r3)
    231         lfs     f20, FP_20(r3)
    232         lfs     f21, FP_21(r3)
    233         lfs     f22, FP_22(r3)
    234         lfs     f23, FP_23(r3)
    235         lfs     f24, FP_24(r3)
    236         lfs     f25, FP_25(r3)
    237         lfs     f26, FP_26(r3)
    238         lfs     f27, FP_27(r3)
    239         lfs     f28, FP_28(r3)
    240         lfs     f29, FP_29(r3)
    241         lfs     f30, FP_30(r3)
    242         lfs     f31, FP_31(r3)
     221        LDF     f0, FP_0(r3)
     222        LDF     f1, FP_1(r3)
     223        LDF     f2, FP_2(r3)
     224        LDF     f3, FP_3(r3)
     225        LDF     f4, FP_4(r3)
     226        LDF     f5, FP_5(r3)
     227        LDF     f6, FP_6(r3)
     228        LDF     f7, FP_7(r3)
     229        LDF     f8, FP_8(r3)
     230        LDF     f9, FP_9(r3)
     231        LDF     f10, FP_10(r3)
     232        LDF     f11, FP_11(r3)
     233        LDF     f12, FP_12(r3)
     234        LDF     f13, FP_13(r3)
     235        LDF     f14, FP_14(r3)
     236        LDF     f15, FP_15(r3)
     237        LDF     f16, FP_16(r3)
     238        LDF     f17, FP_17(r3)
     239        LDF     f18, FP_18(r3)
     240        LDF     f19, FP_19(r3)
     241        LDF     f20, FP_20(r3)
     242        LDF     f21, FP_21(r3)
     243        LDF     f22, FP_22(r3)
     244        LDF     f23, FP_23(r3)
     245        LDF     f24, FP_24(r3)
     246        LDF     f25, FP_25(r3)
     247        LDF     f26, FP_26(r3)
     248        LDF     f27, FP_27(r3)
     249        LDF     f28, FP_28(r3)
     250        LDF     f29, FP_29(r3)
     251        LDF     f30, FP_30(r3)
     252        LDF     f31, FP_31(r3)
    243253#endif
    244254        blr
Note: See TracChangeset for help on using the changeset viewer.