aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1995-03-10 18:46:44 +0000
committerDoug Evans <dje@gnu.org>1995-03-10 18:46:44 +0000
commit63a33c946357af5aa88605e00226d3ee6509f0f0 (patch)
treea71a9a7ed300d3857993a8d886c5c08ebc6e6f5f
parent0323c17857ee9c573c1f756e22acf940b433bc16 (diff)
downloadgcc-63a33c946357af5aa88605e00226d3ee6509f0f0.zip
gcc-63a33c946357af5aa88605e00226d3ee6509f0f0.tar.gz
gcc-63a33c946357af5aa88605e00226d3ee6509f0f0.tar.bz2
* m68k/fpgnulib.c (__fixdfsi): Catch values < 0.5 in magnitude.
From-SVN: r9157
-rw-r--r--gcc/config/m68k/fpgnulib.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/config/m68k/fpgnulib.c b/gcc/config/m68k/fpgnulib.c
index bd54058..0559b62 100644
--- a/gcc/config/m68k/fpgnulib.c
+++ b/gcc/config/m68k/fpgnulib.c
@@ -243,8 +243,11 @@ __fixdfsi (double a1)
return SIGND (dl1) ? 0x80000000 : 0x7fffffff;
}
- /* shift down until exp = 0 or l = 0 */
- if (exp < 0 && exp > -32 && l)
+ if (exp <= -32)
+ return 0;
+
+ /* shift down until exp = 0 */
+ if (exp < 0)
l >>= -exp;
return (SIGND (dl1) ? -l : l);