From: Devang Patel Date: Wed, 22 Sep 2004 01:16:20 +0000 (-0700) Subject: tree.def (VEC_COND_EXPR): New tree node. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ad9f20cbce22c10f62d7f4c1b12d42b144454760;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0ba7fa87582..65651500df3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-09-21 Devang Patel + + * tree.def (VEC_COND_EXPR): New tree node. + * tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR. + 2004-09-21 Stan Shebs * config/rs6000/darwin-tramp.asm: Add __ppc64__ case. diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c index 7f9840f9fcb..8c0516998bc 100644 --- a/gcc/tree-ssa-operands.c +++ b/gcc/tree-ssa-operands.c @@ -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; diff --git a/gcc/tree.def b/gcc/tree.def index 922c75f3232..fa58abafad7 100644 --- a/gcc/tree.def +++ b/gcc/tree.def @@ -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