@@ -261,56 +261,56 @@ slognd:
261261|----the value TWOTO100 is no longer needed.
262262|----Note that this code assumes the denormalized input is NON-ZERO.
263263
264- movem l %d2 -%d7 ,-(%a7 ) | ...save some registers
265- movel #0x00000000,%d3 | ...D3 is exponent of smallest norm. #
266- movel 4 (%a0 ),%d4
267- movel 8 (%a0 ),%d5 | ...(D4 ,D5 ) is (Hi_X,Lo_X)
268- clrl %d2 | ...D2 used for holding K
264+ movem l %d2 -%d7 ,-(%a7 ) | ...save some registers
265+ movel #0x00000000,%d3 | ...D3 is exponent of smallest norm. #
266+ movel 4 (%a0 ),%d4
267+ movel 8 (%a0 ),%d5 | ...(D4 ,D5 ) is (Hi_X,Lo_X)
268+ clrl %d2 | ...D2 used for holding K
269269
270- tstl %d4
271- bnes HiX_not0
270+ tstl %d4
271+ bnes HiX_not0
272272
273273HiX_0:
274- movel %d5 ,%d4
275- clrl %d5
276- movel #32 ,%d2
277- clrl %d6
278- bfffo %d4 {#0 :#32 },%d6
279- lsll %d6 ,%d4
280- addl %d6 ,%d2 | ...(D3 ,D4 ,D5 ) is normalized
281-
282- movel %d3 ,X(%a6 )
283- movel %d4 ,XFRAC(%a6 )
284- movel %d5 ,XFRAC+4 (%a6 )
285- negl %d2
286- movel %d2 ,ADJK(%a6 )
287- fmovex X(%a6 ),%fp0
288- movem l (%a7 )+,%d2 -%d7 | ...restore registers
289- lea X(%a6 ),%a0
290- bras LOGBGN | ...begin regular log(X)
274+ movel %d5 ,%d4
275+ clrl %d5
276+ movel #32 ,%d2
277+ clrl %d6
278+ bfffo %d4 {#0 :#32 },%d6
279+ lsll %d6 ,%d4
280+ addl %d6 ,%d2 | ...(D3 ,D4 ,D5 ) is normalized
281+
282+ movel %d3 ,X(%a6 )
283+ movel %d4 ,XFRAC(%a6 )
284+ movel %d5 ,XFRAC+4 (%a6 )
285+ negl %d2
286+ movel %d2 ,ADJK(%a6 )
287+ fmovex X(%a6 ),%fp0
288+ movem l (%a7 )+,%d2 -%d7 | ...restore registers
289+ lea X(%a6 ),%a0
290+ bras LOGBGN | ...begin regular log(X)
291291
292292
293293HiX_not0:
294- clrl %d6
295- bfffo %d4 {#0 :#32 },%d6 | ...find first 1
296- movel %d6 ,%d2 | ...get k
297- lsll %d6 ,%d4
298- movel %d5 ,%d7 | ...a copy of D5
299- lsll %d6 ,%d5
300- negl %d6
301- addil #32 ,%d6
302- lsrl %d6 ,%d7
303- orl %d7 ,%d4 | ...(D3 ,D4 ,D5 ) normalized
304-
305- movel %d3 ,X(%a6 )
306- movel %d4 ,XFRAC(%a6 )
307- movel %d5 ,XFRAC+4 (%a6 )
308- negl %d2
309- movel %d2 ,ADJK(%a6 )
310- fmovex X(%a6 ),%fp0
311- movem l (%a7 )+,%d2 -%d7 | ...restore registers
312- lea X(%a6 ),%a0
313- bras LOGBGN | ...begin regular log(X)
294+ clrl %d6
295+ bfffo %d4 {#0 :#32 },%d6 | ...find first 1
296+ movel %d6 ,%d2 | ...get k
297+ lsll %d6 ,%d4
298+ movel %d5 ,%d7 | ...a copy of D5
299+ lsll %d6 ,%d5
300+ negl %d6
301+ addil #32 ,%d6
302+ lsrl %d6 ,%d7
303+ orl %d7 ,%d4 | ...(D3 ,D4 ,D5 ) normalized
304+
305+ movel %d3 ,X(%a6 )
306+ movel %d4 ,XFRAC(%a6 )
307+ movel %d5 ,XFRAC+4 (%a6 )
308+ negl %d2
309+ movel %d2 ,ADJK(%a6 )
310+ fmovex X(%a6 ),%fp0
311+ movem l (%a7 )+,%d2 -%d7 | ...restore registers
312+ lea X(%a6 ),%a0
313+ bras LOGBGN | ...begin regular log(X)
314314
315315
316316 .global slogn
0 commit comments