This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
fix expand_vec_cond_expr
- From: Richard Henderson <rth at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 1 Dec 2005 14:58:55 -0800
- Subject: fix expand_vec_cond_expr
I think this is a pure think-o. I can't think of a reason this
was intended to be EXPAND_STACK_PARM (1). Indeed, I have an ICE
demonstratable on autovect-branch that suggests it isn't.
Applied to mainline, 4.1, and autovect.
r~
* optabs.c (expand_vec_cond_expr): Use EXPAND_NORMAL.
=== optabs.c
==================================================================
--- optabs.c (revision 107842)
+++ optabs.c (local)
@@ -5727,13 +5727,13 @@
cc_op1 = XEXP (comparison, 1);
/* Expand both operands and force them in reg, if required. */
rtx_op1 = expand_expr (TREE_OPERAND (vec_cond_expr, 1),
- NULL_RTX, VOIDmode, 1);
+ NULL_RTX, VOIDmode, EXPAND_NORMAL);
if (!insn_data[icode].operand[1].predicate (rtx_op1, mode)
&& mode != VOIDmode)
rtx_op1 = force_reg (mode, rtx_op1);
rtx_op2 = expand_expr (TREE_OPERAND (vec_cond_expr, 2),
- NULL_RTX, VOIDmode, 1);
+ NULL_RTX, VOIDmode, EXPAND_NORMAL);
if (!insn_data[icode].operand[2].predicate (rtx_op2, mode)
&& mode != VOIDmode)
rtx_op2 = force_reg (mode, rtx_op2);