aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1994-11-19 15:56:33 -0800
committerJim Wilson <wilson@gcc.gnu.org>1994-11-19 15:56:33 -0800
commit2655599b8f32c8d4533746b211318ebce98ad600 (patch)
tree128b09625a0daa533bcd02552e32911ee1b893a4
parent6cb70f0c964435fe98fc97902490395911ca0eab (diff)
downloadgcc-2655599b8f32c8d4533746b211318ebce98ad600.zip
gcc-2655599b8f32c8d4533746b211318ebce98ad600.tar.gz
gcc-2655599b8f32c8d4533746b211318ebce98ad600.tar.bz2
(addsf3): After using swap for 16 bit rotate,
branch back only if count still greater than 0. From-SVN: r8529
-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 6e9124d..5e53b06 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).