+2004-09-21 Devang Patel <dpatel@apple.com>
+
+ * tree.def (VEC_COND_EXPR): New tree node.
+ * tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.
+
2004-09-21 Stan Shebs <shebs@apple.com>
* config/rs6000/darwin-tramp.asm: Add __ppc64__ case.
return;
case COND_EXPR:
- get_expr_operands (stmt, &COND_EXPR_COND (expr), opf_none);
+ case VEC_COND_EXPR:
+ get_expr_operands (stmt, &TREE_OPERAND (expr, 0), opf_none);
get_expr_operands (stmt, &TREE_OPERAND (expr, 1), opf_none);
get_expr_operands (stmt, &TREE_OPERAND (expr, 2), opf_none);
return;
have VOID_TYPE. The same constraints apply to operand 2. */
DEFTREECODE (COND_EXPR, "cond_expr", tcc_expression, 3)
+/* Vector conditional expresion. It is like COND_EXPR, but with
+ vector operands.
+
+ A = VEC_COND_EXPR ( X < Y, B, C)
+
+ means
+
+ for (i=0; i<N; i++)
+ A[i] = X[i] < Y[i] ? B[i] : C[i];
+*/
+DEFTREECODE (VEC_COND_EXPR, "vec_cond_expr", 'e', 3)
+
/* Declare local variables, including making RTL and allocating space.
BIND_EXPR_VARS is a chain of VAR_DECL nodes for the variables.
BIND_EXPR_BODY is the body, the expression to be computed using