diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2008-11-06 13:01:23 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2008-11-06 13:01:23 +0100 |
commit | 11f48903b00851c8edc5cf24a3497b8cf9957173 (patch) | |
tree | 4d0042906314a961d0a3980e433ba13bcb8b0780 /gcc/reg-stack.c | |
parent | 8d3323ded5f5707cf7faffa50925e9b22334eeec (diff) | |
download | gcc-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/reg-stack.c')
-rw-r--r-- | gcc/reg-stack.c | 7 |
1 files changed, 5 insertions, 2 deletions
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); } |