diff options
author | Doug Evans <dje@gnu.org> | 1995-03-10 18:46:44 +0000 |
---|---|---|
committer | Doug Evans <dje@gnu.org> | 1995-03-10 18:46:44 +0000 |
commit | 63a33c946357af5aa88605e00226d3ee6509f0f0 (patch) | |
tree | a71a9a7ed300d3857993a8d886c5c08ebc6e6f5f | |
parent | 0323c17857ee9c573c1f756e22acf940b433bc16 (diff) | |
download | gcc-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.c | 7 |
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); |