summaryrefslogtreecommitdiff
path: root/gcc/optabs.h
diff options
context:
space:
mode:
authordpatel <dpatel@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-28 00:13:12 +0000
committerdpatel <dpatel@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-28 00:13:12 +0000
commit6b7acc28494ae8de5616895bd43ff652b08db4ef (patch)
treed499fabff1893bbf2a9b76b6065afdd79d7c845b /gcc/optabs.h
parent01ff45405b5a53582bf0938fecf5d7473bf0f3e1 (diff)
downloadgcc-6b7acc28494ae8de5616895bd43ff652b08db4ef.tar.gz
* expr.c (expand_expr_real_1): Handle VEC_COND_EXPR.
* genopinit.c (optabs): New entry for vcond_gen_code and vcondu_gen_code. * optabs.c (vcond_gen_code, vcondu_gen_code): New optabs. (get_rtx_code): New function. (vector_compare_rtx): New function. (init_optabs): Initialize vcond_gen_code and vcondu_gen_code. (expand_vec_cond_expr_p): New function. (expand_vec_cond_expr): New function. (get_vcond_icode): New function. * optabs.h (expand_vec_cond_expr, expand_vec_cond_expr_p): New externs. (vcond_gen_code, vcondu_gen_code): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88209 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/optabs.h')
-rw-r--r--gcc/optabs.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/optabs.h b/gcc/optabs.h
index 8e895f203c5..68be8d35e7f 100644
--- a/gcc/optabs.h
+++ b/gcc/optabs.h
@@ -398,6 +398,12 @@ extern enum insn_code setcc_gen_code[NUM_RTX_CODE];
extern enum insn_code movcc_gen_code[NUM_MACHINE_MODES];
#endif
+/* Indexed by the machine mode, gives the insn code for vector conditional
+ operation. */
+
+extern enum insn_code vcond_gen_code[NUM_MACHINE_MODES];
+extern enum insn_code vcondu_gen_code[NUM_MACHINE_MODES];
+
/* This array records the insn_code of insns to perform block moves. */
extern enum insn_code movmem_optab[NUM_MACHINE_MODES];
@@ -498,4 +504,10 @@ extern void expand_float (rtx, rtx, int);
/* Generate code for a FIX_EXPR. */
extern void expand_fix (rtx, rtx, int);
+/* Return tree if target supports vector operatiosn for COND_EXPR. */
+bool expand_vec_cond_expr_p (tree, enum machine_mode);
+
+/* Generate code for VEC_COND_EXPR. */
+extern rtx expand_vec_cond_expr (tree, rtx);
+
#endif /* GCC_OPTABS_H */