From 2655599b8f32c8d4533746b211318ebce98ad600 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Sat, 19 Nov 1994 15:56:33 -0800 Subject: [PATCH] (addsf3): After using swap for 16 bit rotate, branch back only if count still greater than 0. From-SVN: r8529 --- gcc/config/m68k/lb1sf68.asm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/config/m68k/lb1sf68.asm b/gcc/config/m68k/lb1sf68.asm index 6e9124d165e1..5e53b0645362 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).