diff options
author | Kalamatee <kalamatee@gmail.com> | 2018-05-23 22:29:01 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2018-05-23 16:29:01 -0600 |
commit | 54fd159056765b65191e7685673133f34786b76c (patch) | |
tree | c52629544908bf1b4345c7f06ea4aabdf8e94a68 | |
parent | 622075181d70d9dd3b0b0546447a167ac0ead6ba (diff) | |
download | gcc-54fd159056765b65191e7685673133f34786b76c.zip gcc-54fd159056765b65191e7685673133f34786b76c.tar.gz gcc-54fd159056765b65191e7685673133f34786b76c.tar.bz2 |
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
-rw-r--r-- | libgcc/ChangeLog | 5 | ||||
-rw-r--r-- | libgcc/config/m68k/lb1sf68.S | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index e8886cf..1b24190 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2018-05-23 Kalamatee <kalamatee@gmail.com> + + * config/m68k/lb1sf68.S (Laddsf$nf): Fix sign bit handling in + path to Lf$finfty. + 2018-05-18 Kito Cheng <kito.cheng@gmail.com> Monk Chiang <sh.chiang04@gmail.com> Jim Wilson <jimw@sifive.com> diff --git a/libgcc/config/m68k/lb1sf68.S b/libgcc/config/m68k/lb1sf68.S index 1d9392a..325a7c1 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 |