Index: ChangeLog =================================================================== RCS file: /cvsroot/avr-libc/avr-libc/ChangeLog,v retrieving revision 1.383 retrieving revision 1.384 diff -u -u -r1.383 -r1.384 --- ChangeLog 10 Jul 2004 21:58:58 -0000 1.383 +++ ChangeLog 17 Jul 2004 21:52:31 -0000 1.384 @@ -1,3 +1,7 @@ +2004-07-17 Joerg Wunsch + + * libm/fplib/pow.S: localize labels, fix pow(N, 0). + 2004-07-10 Joerg Wunsch * include/inttypes.h: avr-gcc >= 3.5 will be able to Index: libm/fplib/pow.S =================================================================== RCS file: /cvsroot/avr-libc/avr-libc/libm/fplib/pow.S,v retrieving revision 1.1 retrieving revision 1.3 diff -u -u -r1.1 -r1.3 --- libm/fplib/pow.S 5 Jul 2002 20:38:44 -0000 1.1 +++ libm/fplib/pow.S 17 Jul 2004 21:52:31 -0000 1.3 @@ -38,11 +38,11 @@ GLOBAL(pow) TST rB3 - BREQ _pow_100 ; x ^ 0 = 1.0 + BREQ 10f ; x ^ 0 = 1.0 TST rA3 - BRMI _pow_10 - BREQ _pow_100 - _pow_00: + BRMI 1f + BREQ 10f + PUSH rB3 PUSH rB2 PUSH rB1 @@ -55,7 +55,7 @@ RCALL _U(__mulsf3) RJMP _U(exp) - _pow_10: +1: /* x < 0 -> no rational power allowed * check if B is an integer number * if yes then pow(x,y) = @@ -87,21 +87,20 @@ POP rA1 POP rA2 POP rA3 - BREQ _pow_20 + BREQ 2f ANDI rA3,0x7F SUBI rB3,0x80 - RCALL _pow_10 + RCALL 1b SUBI rB3,0x80 - _pow_20: +2: RJMP _U(__fp_nanEDOM) - _pow_100: +10: LDI rA3,0x3F LDI rA2,0x80 - _pow_101: CLR rA1 - CLR rA2 + CLR rA0 RET ENDFUNC