Commit a278e201 by Sujoy Saraswati Committed by Sujoy Saraswati

This series of patches fix PR61441. This patch adds REAL_VALUE_ISSIGNALING_NAN.

Bootstrapped & regression-tested on x86_64-linux-gnu.

gcc/
	* real.c (real_issignaling_nan): New.
	* real.h (real_issignaling_nan, REAL_VALUE_ISSIGNALING_NAN): New.

From-SVN: r231848
parent d3ccfbb9
2015-12-19 Sujoy Saraswati <sujoy.saraswati@hpe.com>
PR tree-optimization/61441
* real.c (real_issignaling_nan): New.
* real.h (real_issignaling_nan, REAL_VALUE_ISSIGNALING_NAN): New.
2015-13-18 John David Anglin <danglin@gcc.gnu.org>
PR target/68729
......@@ -1195,6 +1195,12 @@ real_isnan (const REAL_VALUE_TYPE *r)
return (r->cl == rvc_nan);
}
/* Determine whether a floating-point value X is a signaling NaN. */
bool real_issignaling_nan (const REAL_VALUE_TYPE *r)
{
return real_isnan (r) && r->signalling;
}
/* Determine whether a floating-point value X is finite. */
bool
......
......@@ -262,6 +262,9 @@ extern bool real_isinf (const REAL_VALUE_TYPE *);
/* Determine whether a floating-point value X is a NaN. */
extern bool real_isnan (const REAL_VALUE_TYPE *);
/* Determine whether a floating-point value X is a signaling NaN. */
extern bool real_issignaling_nan (const REAL_VALUE_TYPE *);
/* Determine whether a floating-point value X is finite. */
extern bool real_isfinite (const REAL_VALUE_TYPE *);
......@@ -357,6 +360,9 @@ extern const struct real_format arm_half_format;
/* Determine whether a floating-point value X is a NaN. */
#define REAL_VALUE_ISNAN(x) real_isnan (&(x))
/* Determine whether a floating-point value X is a signaling NaN. */
#define REAL_VALUE_ISSIGNALING_NAN(x) real_issignaling_nan (&(x))
/* Determine whether a floating-point value X is negative. */
#define REAL_VALUE_NEGATIVE(x) real_isneg (&(x))
......
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