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
This commit is contained in:
Uros Bizjak 2008-11-06 13:01:23 +01:00
parent 8d3323ded5
commit 11f48903b0
2 changed files with 12 additions and 5 deletions

View File

@ -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.

View File

@ -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);
}