diff options
author | Devang Patel <dpatel@apple.com> | 2004-09-27 17:13:12 -0700 |
---|---|---|
committer | Devang Patel <dpatel@gcc.gnu.org> | 2004-09-27 17:13:12 -0700 |
commit | 7ce67fbe42c85071c99837def6395f131cfdcc61 (patch) | |
tree | d499fabff1893bbf2a9b76b6065afdd79d7c845b /gcc/expr.c | |
parent | 55040e7a24ca7a4d07644ab93976fb8f3a6d1b1c (diff) | |
download | gcc-7ce67fbe42c85071c99837def6395f131cfdcc61.zip gcc-7ce67fbe42c85071c99837def6395f131cfdcc61.tar.gz gcc-7ce67fbe42c85071c99837def6395f131cfdcc61.tar.bz2 |
expr.c (expand_expr_real_1): Handle VEC_COND_EXPR.
* 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.
From-SVN: r88209
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -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. |