aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1998-07-06 15:40:02 -0700
committerJeff Law <law@gcc.gnu.org>1998-07-06 16:40:02 -0600
commit800d5c9e172776de4ad5875559d83049263005a2 (patch)
treeef4e4031500c7bf6540c60822a29018f4e226818 /gcc/varasm.c
parent4051959be99ddba084673788892d3e26bac13621 (diff)
downloadgcc-800d5c9e172776de4ad5875559d83049263005a2.zip
gcc-800d5c9e172776de4ad5875559d83049263005a2.tar.gz
gcc-800d5c9e172776de4ad5875559d83049263005a2.tar.bz2
print-rtl.c (print_rtx): Display the real-value equivalent of a const_double when easy.
* print-rtl.c (print_rtx): Display the real-value equivalent of a const_double when easy. * real.h (REAL_VALUE_TO_TARGET_SINGLE): Use a union to pun types. Zero memory first for predictability. (REAL_VALUE_TO_TARGET_DOUBLE): Likewise. * varasm.c (immed_real_const_1): Notice width of H_W_I == double. From-SVN: r20972
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 4ba0e08..39e09c7 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -2070,6 +2070,8 @@ immed_real_const_1 (d, mode)
else if (! REAL_VALUE_ISNAN (d) && REAL_VALUES_EQUAL (dconst1, d))
return CONST1_RTX (mode);
+ if (sizeof u == sizeof (HOST_WIDE_INT))
+ return immed_double_const (u.i[0], 0, mode);
if (sizeof u == 2 * sizeof (HOST_WIDE_INT))
return immed_double_const (u.i[0], u.i[1], mode);