Commit 4b1d78b4 by Andreas Schwab Committed by Andreas Schwab

Summary: Generate canonical infinity for the Motorola extended real format

* real.c (encode_ieee_extended_motorola): Clear integer bit in the
infinity format.

From-SVN: r212744
parent cfe309a1
2014-07-17 Andreas Schwab <schwab@linux-m68k.org>
* real.c (encode_ieee_extended_motorola): Clear integer bit in the
infinity format.
2014-07-17 Richard Biener <rguenther@suse.de> 2014-07-17 Richard Biener <rguenther@suse.de>
PR rtl-optimization/61801 PR rtl-optimization/61801
......
...@@ -3481,6 +3481,11 @@ encode_ieee_extended_motorola (const struct real_format *fmt, long *buf, ...@@ -3481,6 +3481,11 @@ encode_ieee_extended_motorola (const struct real_format *fmt, long *buf,
long intermed[3]; long intermed[3];
encode_ieee_extended (fmt, intermed, r); encode_ieee_extended (fmt, intermed, r);
if (r->cl == rvc_inf)
/* For infinity clear the explicit integer bit again, so that the
format matches the canonical infinity generated by the FPU. */
intermed[1] = 0;
/* Motorola chips are assumed always to be big-endian. Also, the /* Motorola chips are assumed always to be big-endian. Also, the
padding in a Motorola extended real goes between the exponent and padding in a Motorola extended real goes between the exponent and
the mantissa. At this point the mantissa is entirely within the mantissa. At this point the mantissa is entirely within
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment