FP constants. */
if (GET_CODE (x) == CONST_DOUBLE
&& GET_MODE (x) == DFmode
- && TARGET_FLOAT_FORMAT == HOST_FLOAT_FORMAT
- && BITS_PER_WORD == HOST_BITS_PER_INT
&& ! (TARGET_NO_FP_IN_TOC && ! TARGET_MINIMAL_TOC))
{
+ REAL_VALUE_TYPE r;
+ long l[2];
+
+ REAL_VALUE_FROM_CONST_DOUBLE (r, x);
+ REAL_VALUE_TO_TARGET_DOUBLE (r, l);
if (TARGET_MINIMAL_TOC)
- fprintf (file, "\t.long %d\n\t.long %d\n",
- CONST_DOUBLE_LOW (x), CONST_DOUBLE_HIGH (x));
+ fprintf (file, "\t.long %ld\n\t.long %ld\n", l[0], l[1]);
else
- fprintf (file, "\t.tc FD_%x_%x[TC],%d,%d\n",
- CONST_DOUBLE_LOW (x), CONST_DOUBLE_HIGH (x),
- CONST_DOUBLE_LOW (x), CONST_DOUBLE_HIGH (x));
+ fprintf (file, "\t.tc FD_%lx_%lx[TC],%ld,%ld\n",
+ l[0], l[1], l[0], l[1]);
return;
}
else if (GET_CODE (x) == CONST_DOUBLE && GET_MODE (x) == SFmode