aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/avr/libgcc.S3
2 files changed, 5 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7f0266b..875ed0a 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 b438954..d324a21 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