Commit b8cab8a5 by Uros Bizjak Committed by Uros Bizjak

re PR target/78738 (ICE in extract_insn, at recog.c:2311)

	PR target/78738
	* config/i386/i386.h (X87_ENABLE_ARITH): Also enable for
	flag_unsafe_math_optimizations.
	(X87_ENABLE_FLOAT): Ditto.

testsuite/ChangeLog:

	PR target/78738
	* gcc.target/i386/pr78738.c: New test.

From-SVN: r243559
parent 39c42937
2016-12-12 Uros Bizjak <ubizjak@gmail.com>
PR target/78738
* config/i386/i386.h (X87_ENABLE_ARITH): Also enable for
flag_unsafe_math_optimizations.
(X87_ENABLE_FLOAT): Ditto.
2016-12-12 Marek Polacek <polacek@redhat.com>
PR middle-end/78716
......@@ -693,13 +693,16 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
/* Whether to allow x87 floating-point arithmetic on MODE (one of
SFmode, DFmode and XFmode) in the current excess precision
configuration. */
#define X87_ENABLE_ARITH(MODE) \
(flag_excess_precision == EXCESS_PRECISION_FAST || (MODE) == XFmode)
#define X87_ENABLE_ARITH(MODE) \
(flag_unsafe_math_optimizations \
|| flag_excess_precision == EXCESS_PRECISION_FAST \
|| (MODE) == XFmode)
/* Likewise, whether to allow direct conversions from integer mode
IMODE (HImode, SImode or DImode) to MODE. */
#define X87_ENABLE_FLOAT(MODE, IMODE) \
(flag_excess_precision == EXCESS_PRECISION_FAST \
(flag_unsafe_math_optimizations \
|| flag_excess_precision == EXCESS_PRECISION_FAST \
|| (MODE) == XFmode \
|| ((MODE) == DFmode && (IMODE) == SImode) \
|| (IMODE) == HImode)
......
2016-12-12 Uros Bizjak <ubizjak@gmail.com>
PR target/78738
* gcc.target/i386/pr78738.c: New test.
2016-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* lib/target-supports.exp
......
/* PR middle-end/78738 */
/* { dg-do compile } */
/* { dg-options "-O -std=c99 -ffast-math -mfpmath=387" } */
double round (double);
int foo (double a)
{
return round (a);
}
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