diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7f0266b425fa55df602bccc4248ba43875ea7fbc..875ed0a3e65bcfb11f042350bc1437e21de32b3d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2001-03-31 Marek Michalkiewicz <marekm@linux.org.pl> + + * config/avr/libgcc.S (__mulhi3): Optimize previous change. + 2001-03-30 Bernd Schmidt <bernds@redhat.com> * loop.c (load_mems): When generating a load from a pseudo, update diff --git a/gcc/config/avr/libgcc.S b/gcc/config/avr/libgcc.S index b438954b757f61db921c4a29ee5f0793e2fb17d3..d324a2166a61e8918cc18b857ebda7b0eb249abf 100644 --- a/gcc/config/avr/libgcc.S +++ b/gcc/config/avr/libgcc.S @@ -143,8 +143,7 @@ __mulhi3_skip1: lsr r_arg1H ; gets LSB of multiplier ror r_arg1L - cp r_arg1L,__zero_reg__ - cpc r_arg1H,__zero_reg__ + sbiw r_arg1L,0 brne __mulhi3_loop ; exit if multiplier = 0 __mulhi3_exit: mov r_arg1H,r_resH ; result to return register