optabs.c (expand_vector_unop): Don't expand using sub_optab if we got the wrong mode.

* optabs.c (expand_vector_unop): Don't expand using sub_optab
	if we got the wrong mode.

From-SVN: r55648
This commit is contained in:
J"orn Rennecke 2002-07-22 14:22:58 +00:00 committed by Joern Rennecke
parent bb9b380534
commit 0d541696aa
2 changed files with 8 additions and 2 deletions

View File

@ -1,4 +1,7 @@
Mon Jul 22 15:18:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
Mon Jul 22 15:21:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
* optabs.c (expand_vector_unop): Don't expand using sub_optab
if we got the wrong mode.
* hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
* genrecog.c (write_switch, write_cond): Use it.

View File

@ -2049,7 +2049,10 @@ expand_vector_unop (mode, unoptab, op0, target, unsignedp)
submode = tmode;
}
/* If there is no negate operation, try doing a subtract from zero. */
if (unoptab == neg_optab && GET_MODE_CLASS (submode) == MODE_INT)
if (unoptab == neg_optab && GET_MODE_CLASS (submode) == MODE_INT
/* Avoid infinite recursion when an
error has left us with the wrong mode. */
&& GET_MODE (op0) == mode)
{
rtx temp;
temp = expand_binop (mode, sub_optab, CONST0_RTX (mode), op0,