Commit ad9f20cb by Devang Patel Committed by Devang Patel

tree.def (VEC_COND_EXPR): New tree node.

       * tree.def (VEC_COND_EXPR): New tree node.
       * tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.

From-SVN: r87839
parent 86c44072
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.
......
......@@ -1071,7 +1071,8 @@ get_expr_operands (tree stmt, tree *expr_p, int flags)
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;
......
......@@ -453,6 +453,18 @@ DEFTREECODE (TARGET_EXPR, "target_expr", tcc_expression, 4)
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
......
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