summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarekm <marekm@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-31 16:24:16 +0000
committermarekm <marekm@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-31 16:24:16 +0000
commitfdda3fb9a0d8a3ea3dc15f7fc1decf0b8fc7756b (patch)
tree4cc7cefb110ee9892ceaede1e2c1b590e1003ac6
parentad0dddf2877ada04d037c5c48c7d66b3b30c18dd (diff)
downloadppe42-gcc-fdda3fb9a0d8a3ea3dc15f7fc1decf0b8fc7756b.tar.gz
ppe42-gcc-fdda3fb9a0d8a3ea3dc15f7fc1decf0b8fc7756b.zip
* config/avr/libgcc.S (__mulhi3): Optimize previous change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40976 138bc75d-0d04-0410-961f-82ee72b054a4
-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 7f0266b425f..875ed0a3e65 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 b438954b757..d324a2166a6 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
OpenPOWER on IntegriCloud