summaryrefslogtreecommitdiff
path: root/gcc/tree.def
diff options
context:
space:
mode:
authordpatel <dpatel@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-22 01:16:20 +0000
committerdpatel <dpatel@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-22 01:16:20 +0000
commitbd2ec69927fa91d40a4c2cf50fd18b826affcae8 (patch)
treecf11806a17acf6f626d41825f28ce0efa0b0f398 /gcc/tree.def
parente151b250396844b19583ef88a76f766a9a07b6ea (diff)
downloadgcc-bd2ec69927fa91d40a4c2cf50fd18b826affcae8.tar.gz
* tree.def (VEC_COND_EXPR): New tree node.
* tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87839 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.def')
-rw-r--r--gcc/tree.def12
1 files changed, 12 insertions, 0 deletions
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<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