File tree Expand file tree Collapse file tree 1 file changed +29
-4
lines changed Expand file tree Collapse file tree 1 file changed +29
-4
lines changed Original file line number Diff line number Diff line change 50
50
#define FZERO 144 (SP)
51
51
#define FONE 148 (SP)
52
52
#define FMAX 152 (SP)
53
-
54
- #define STACKSIZE 160
53
+ #define FINF 160 (SP)
54
+ #define STACKSIZE 168
55
55
56
56
PROLOGUE
57
57
PROFCODE
87
87
stw r10, FZERO
88
88
stw r11, FONE
89
89
stw r12, FMAX
90
+
91
+ #ifdef DOUBLE
92
+ lis r12, 0x7ff0
93
+ ori r12, r12, 0x0
94
+ sldi r12, r12, 32
95
+ oris r12, r12,0x0
96
+ ori r12, r12, 0x0
97
+ std r12, FINF
98
+ #endif
99
+
90
100
stw r10, 4 + FMAX
91
101
92
102
lfs f1, FZERO
@@ -334,10 +344,17 @@ LL(100):
334
344
lfs f0, FONE
335
345
336
346
fcmpu cr0, f1, f31
347
+ nop
337
348
beq- cr0, LL(9999 )
338
-
339
349
fdiv f30, f0, f31
340
350
351
+ #ifdef DOUBLE
352
+ lfd f1, FINF
353
+ fcmpu cr0, f1, f30
354
+ lfs f1, FZERO
355
+ beq- cr0, LL(9999 )
356
+ #endif
357
+
341
358
fmr f0, f1
342
359
fmr f2, f1
343
360
fmr f3, f1
@@ -712,9 +729,16 @@ LL(1999):
712
729
713
730
fcmpu cr0, f1, f31
714
731
beq- cr0, LL(9999 )
715
-
732
+
716
733
fdiv f30, f0, f31
717
734
735
+ #ifdef DOUBLE
736
+ lfd f1, FINF
737
+ fcmpu cr0, f1, f30
738
+ lfs f1, FZERO
739
+ beq- cr0, LL(9999 )
740
+ #endif
741
+
718
742
fmr f0, f1
719
743
fmr f2, f1
720
744
fmr f3, f1
@@ -875,6 +899,7 @@ LL(2170):
875
899
fadd f0, f0, f4
876
900
877
901
fsqrt f0, f0
902
+
878
903
fmul f1, f31, f0
879
904
.align 4
880
905
You can’t perform that action at this time.
0 commit comments