This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Add vcond_gen_code optab and expand VEC_COND_EXPR


My previous patch introduces VEC_COND_EXPR.

This patch adds expander for it. As we discussed earlier,
it also adds new optab vcond_gen_optab. This patch updates
compare_from_rtx() routine to avoid emitting cmp instructions
for vector compare. New routine expand_vec_cond_expr() is used
to emit vector conditional exprs (VEC_COND_EXPR) using
vcond_gen_code optab.

My next patch will update auto-vectorizer.

Bootstrapped and tested on powerpc-darwin.

2004-09-15 Devang Patel <dpatel@apple.com>

* dojump.c (compare_from_rtx): Handle Vector compare.
* expr.c (store_expr): Handle VEC_COND_EXPR.
* genopinit.c (optabs): New entry for vcond_gen_code.
* optabs.c (vcond_gen_code): New optab.
(get_rtx_code): New function.
(vector_compare_rtx): New function.
(init_optabs): Initialize vcond_gen_code.
(expand_vec_cond_expr_p): New function.
(expand_vec_cond_expr): New function.
* optabs.h (expand_vec_cond_expr, expand_vec_cond_expr_p): New externs.
(vcond_gen_code): Same.


OK?
Thanks,
-
Devang

Attachment: ifc2_fsf_mainline.3.0.diff
Description: Binary data



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]