summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1994-11-19 23:56:33 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1994-11-19 23:56:33 +0000
commit15608d72fae947322fe2f9011c848ed5eccdd552 (patch)
tree128b09625a0daa533bcd02552e32911ee1b893a4
parente0ccde53f4595e5aeddcc033e11bc63324d0120c (diff)
downloadppe42-gcc-15608d72fae947322fe2f9011c848ed5eccdd552.tar.gz
ppe42-gcc-15608d72fae947322fe2f9011c848ed5eccdd552.zip
(addsf3): After using swap for 16 bit rotate,
branch back only if count still greater than 0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8529 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/config/m68k/lb1sf68.asm6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/config/m68k/lb1sf68.asm b/gcc/config/m68k/lb1sf68.asm
index 6e9124d165e..5e53b064536 100644
--- a/gcc/config/m68k/lb1sf68.asm
+++ b/gcc/config/m68k/lb1sf68.asm
@@ -2089,7 +2089,8 @@ Laddsf$2:
movew d3,d2
swap d2
subw #16,d7
- bra 2b
+ bne 2b | if still more bits, go back to normal case
+ bra Laddsf$3
5:
exg d6,d7 | exchange the exponents
subl d6,d7 | keep the largest exponent
@@ -2112,7 +2113,8 @@ Laddsf$2:
movew d1,d0
swap d0
subw #16,d7
- bra 6b
+ bne 6b | if still more bits, go back to normal case
+ | otherwise we fall through
| Now we have a in d0-d1, b in d2-d3, and the largest exponent in d6 (the
| signs are stored in a0 and a1).
OpenPOWER on IntegriCloud