This is the mail archive of the 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 <>

* 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.


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]