re PR middle-end/52140 (Libdfp testcase encounters ICE when compiled with soft-dfp (no -mcpu).)

gcc/
	PR middle-end/52140
	* dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.

gcc/testsuite/
	PR middle-end/52140
	* gcc.dg/dfp/pr52140.c: New test.

From-SVN: r184045
This commit is contained in:
Peter Bergner 2012-02-09 08:46:02 -06:00 committed by Peter Bergner
parent 732b7729a7
commit 16e0be9b8e
4 changed files with 22 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2012-02-09 Peter Bergner <bergner@vnet.ibm.com>
PR middle-end/52140
* dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.
2012-02-09 Jakub Jelinek <jakub@redhat.com>
PR debug/52165

View File

@ -1049,7 +1049,7 @@ do_compare_rtx_and_jump (rtx op0, rtx op1, enum rtx_code code, int unsignedp,
}
else
{
if (GET_MODE_CLASS (mode) == MODE_FLOAT
if (SCALAR_FLOAT_MODE_P (mode)
&& ! can_compare_p (code, mode, ccp_jump)
&& can_compare_p (swap_condition (code), mode, ccp_jump))
{
@ -1060,7 +1060,7 @@ do_compare_rtx_and_jump (rtx op0, rtx op1, enum rtx_code code, int unsignedp,
op1 = tmp;
}
else if (GET_MODE_CLASS (mode) == MODE_FLOAT
else if (SCALAR_FLOAT_MODE_P (mode)
&& ! can_compare_p (code, mode, ccp_jump)
/* Never split ORDERED and UNORDERED. These must be implemented. */

View File

@ -1,3 +1,8 @@
2012-02-09 Peter Bergner <bergner@vnet.ibm.com>
PR middle-end/52140
* gcc.dg/dfp/pr52140.c: New test.
2012-02-09 Jakub Jelinek <jakub@redhat.com>
PR fortran/32380

View File

@ -0,0 +1,10 @@
/* { dg-do compile } */
/* { dg-options "-O1" } */
/* This used to result in an ICE. */
int
foo (_Decimal64 x, _Decimal64 y)
{
return (x < y) || (x > y);
}