diff options
author | dpatel <dpatel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-28 00:13:12 +0000 |
---|---|---|
committer | dpatel <dpatel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-28 00:13:12 +0000 |
commit | 6b7acc28494ae8de5616895bd43ff652b08db4ef (patch) | |
tree | d499fabff1893bbf2a9b76b6065afdd79d7c845b /gcc/optabs.h | |
parent | 01ff45405b5a53582bf0938fecf5d7473bf0f3e1 (diff) | |
download | gcc-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.h | 12 |
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 */ |