diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1994-11-19 15:56:33 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1994-11-19 15:56:33 -0800 |
commit | 2655599b8f32c8d4533746b211318ebce98ad600 (patch) | |
tree | 128b09625a0daa533bcd02552e32911ee1b893a4 /gcc | |
parent | 6cb70f0c964435fe98fc97902490395911ca0eab (diff) | |
download | gcc-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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/m68k/lb1sf68.asm | 6 |
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). |