aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2008-11-06 13:01:23 +0100
committerUros Bizjak <uros@gcc.gnu.org>2008-11-06 13:01:23 +0100
commit11f48903b00851c8edc5cf24a3497b8cf9957173 (patch)
tree4d0042906314a961d0a3980e433ba13bcb8b0780 /gcc
parent8d3323ded5f5707cf7faffa50925e9b22334eeec (diff)
downloadgcc-11f48903b00851c8edc5cf24a3497b8cf9957173.zip
gcc-11f48903b00851c8edc5cf24a3497b8cf9957173.tar.gz
gcc-11f48903b00851c8edc5cf24a3497b8cf9957173.tar.bz2
reg-stack.c (reg_to_stack): Generate +QNaN using real_nan.
* reg-stack.c (reg_to_stack): Generate +QNaN using real_nan. From-SVN: r141640
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/reg-stack.c7
2 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ac8bc74..e0f76e8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2008-11-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * reg-stack.c (reg_to_stack): Generate +QNaN using real_nan.
+
2008-11-06 Ben Elliston <bje@au.ibm.com>
* gcc.c: Remove ancient comment about a bug in Sun cc.
@@ -35,7 +39,8 @@
qualified pointer conversion before stripping qualifiers.
* gimplify.c (create_tmp_from_val): Use correctly qualified type.
* tree-flow.h (may_propagate_address_into_dereference): Declare.
- * tree-ssa-ccp.c (may_propagate_address_into_dereference): New function.
+ * tree-ssa-ccp.c (may_propagate_address_into_dereference): New
+ function.
(ccp_fold): Use it.
* tree-ssa-forwprop.c (rhs_to_tree): Remove useless conversions,
properly canonicalize binary ops.
@@ -718,8 +723,7 @@
2008-10-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/30260
- * c-decl.c (finish_enum): Convert non-integer enumerators to enum
- type.
+ * c-decl.c (finish_enum): Convert non-integer enumerators to enum type.
(build_enumerator): Convert enumerators that fit in integer to
integer type.
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c
index 0cde0cb..7511d18 100644
--- a/gcc/reg-stack.c
+++ b/gcc/reg-stack.c
@@ -3180,14 +3180,17 @@ reg_to_stack (void)
??? We can't load from constant memory in PIC mode, because
we're inserting these instructions before the prologue and
the PIC register hasn't been set up. In that case, fall back
- on zero, which we can get from `ldz'. */
+ on zero, which we can get from `fldz'. */
if ((flag_pic && !TARGET_64BIT)
|| ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC)
not_a_num = CONST0_RTX (SFmode);
else
{
- not_a_num = gen_lowpart (SFmode, GEN_INT (0x7fc00000));
+ REAL_VALUE_TYPE r;
+
+ real_nan (&r, "", 1, SFmode);
+ not_a_num = CONST_DOUBLE_FROM_REAL_VALUE (r, SFmode);
not_a_num = force_const_mem (SFmode, not_a_num);
}