summaryrefslogtreecommitdiff
path: root/libgcc/config/m68k
diff options
context:
space:
mode:
authorKalamatee <kalamatee@gmail.com>2018-05-23 22:29:01 +0000
committerJeff Law <law@gcc.gnu.org>2018-05-23 16:29:01 -0600
commit54fd159056765b65191e7685673133f34786b76c (patch)
treec52629544908bf1b4345c7f06ea4aabdf8e94a68 /libgcc/config/m68k
parent622075181d70d9dd3b0b0546447a167ac0ead6ba (diff)
lb1sf68.S (Laddsf$nf): Fix sign bit handling in path to Lf$finfty.
2018-05-23 Kalamatee <kalamatee@gmail.com> * config/m68k/lb1sf68.S (Laddsf$nf): Fix sign bit handling in path to Lf$finfty. From-SVN: r260626
Diffstat (limited to 'libgcc/config/m68k')
-rw-r--r--libgcc/config/m68k/lb1sf68.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/libgcc/config/m68k/lb1sf68.S b/libgcc/config/m68k/lb1sf68.S
index 1d9392a4ef7..325a7c17d9b 100644
--- a/libgcc/config/m68k/lb1sf68.S
+++ b/libgcc/config/m68k/lb1sf68.S
@@ -3111,6 +3111,8 @@ Laddsf$nf:
movel a6@(12),d1 | did some processing already)
movel IMM (INFINITY),d4 | useful constant (INFINITY)
movel d0,d2 | save sign bits
+ movel d0,d7 | into d7 as well as we may need the sign
+ | bit before jumping to LfSinfty
movel d1,d3
bclr IMM (31),d0 | clear sign bits
bclr IMM (31),d1
@@ -3125,7 +3127,6 @@ Laddsf$nf:
| are adding or subtracting them.
eorl d3,d2 | to check sign bits
bmi 1f
- movel d0,d7
andl IMM (0x80000000),d7 | get (common) sign bit
bra Lf$infty
1:
@@ -3135,7 +3136,6 @@ Laddsf$nf:
cmpl d1,d0 | are both infinite?
beq Lf$inop | if so return NaN
- movel d0,d7
andl IMM (0x80000000),d7 | get a's sign bit '
cmpl d4,d0 | test now for infinity
beq Lf$infty | if a is INFINITY return with this sign