aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2019-08-26 21:18:30 +0200
committerUros Bizjak <uros@gcc.gnu.org>2019-08-26 21:18:30 +0200
commit0e883151165b2039469cb2fdcf33c7f8f59782c0 (patch)
tree60d47138374437bc18d3a16931634d3d1b095a4c
parent22fca489eaf98f2691772b51773a1e4eb7bb4ef2 (diff)
downloadgcc-0e883151165b2039469cb2fdcf33c7f8f59782c0.zip
gcc-0e883151165b2039469cb2fdcf33c7f8f59782c0.tar.gz
gcc-0e883151165b2039469cb2fdcf33c7f8f59782c0.tar.bz2
i386.c (emit_i387_cw_initialization): Fix masking operand value.
* config/i386/i386.c (emit_i387_cw_initialization) <case I387_CW_ROUNDEVEN>: Fix masking operand value. From-SVN: r274934
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/i386/i386.c2
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 852382e..3772757 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,4 +1,9 @@
-2019-08-23 Martin Sebor <msebor@redhat.com>
+2019-08-26 Uroš Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (emit_i387_cw_initialization)
+ <case I387_CW_ROUNDEVEN>: Fix masking operand value.
+
+2019-08-26 Martin Sebor <msebor@redhat.com>
PR c++/83431
* gimple-ssa-sprintf.c (pass_data_sprintf_length): Remove object.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index c712c03..f3b3a9a 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -13785,7 +13785,7 @@ emit_i387_cw_initialization (int mode)
{
case I387_CW_ROUNDEVEN:
/* round to nearest */
- emit_insn (gen_andhi3 (reg, reg, GEN_INT (0x0c00)));
+ emit_insn (gen_andhi3 (reg, reg, GEN_INT (~0x0c00)));
slot = SLOT_CW_ROUNDEVEN;
break;