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/expr.c | |
| parent | 01ff45405b5a53582bf0938fecf5d7473bf0f3e1 (diff) | |
| download | ppe42-gcc-6b7acc28494ae8de5616895bd43ff652b08db4ef.tar.gz ppe42-gcc-6b7acc28494ae8de5616895bd43ff652b08db4ef.zip | |
* 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/expr.c')
| -rw-r--r-- | gcc/expr.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/expr.c b/gcc/expr.c index 96cab626f7b..ff8355bc738 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -8053,6 +8053,10 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, OK_DEFER_POP; return temp; + case VEC_COND_EXPR: + target = expand_vec_cond_expr (exp, target); + return target; + case MODIFY_EXPR: { /* If lhs is complex, expand calls in rhs before computing it. |

