aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Michalkiewicz <marekm@linux.org.pl>2001-03-31 18:24:16 +0200
committerMarek Michalkiewicz <marekm@gcc.gnu.org>2001-03-31 16:24:16 +0000
commit7656d28aed3bb0d61a9eff78a43475f47e53376f (patch)
tree4cc7cefb110ee9892ceaede1e2c1b590e1003ac6
parent59350e50596f802bc7e62c8479668b0d3252e145 (diff)
downloadgcc-7656d28aed3bb0d61a9eff78a43475f47e53376f.zip
gcc-7656d28aed3bb0d61a9eff78a43475f47e53376f.tar.gz
gcc-7656d28aed3bb0d61a9eff78a43475f47e53376f.tar.bz2
* config/avr/libgcc.S (__mulhi3): Optimize previous change.
From-SVN: r40976
-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