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] |
On 10/13/2015 08:14 AM, Ilya Enkovich wrote:
+ +static tree +build_vec_cmp (tree_code code, tree type, + tree arg0, tree arg1) +{ + tree zero_vec = build_zero_cst (type); + tree minus_one_vec = build_minus_one_cst (type); + tree cmp_type = build_same_sized_truth_vector_type (type); + tree cmp = build2 (code, cmp_type, arg0, arg1); + return build3 (VEC_COND_EXPR, type, cmp, minus_one_vec, zero_vec); +}Isn't this implementation the same for C & C++? Does it make sense to put it in c-family/c-common.c?C++ version calls fold_if_not_in_template for generated comparison. It is required there to successfully recognize vector MIN, MAX and ABS templates for vector ?: conditional operator. Vector form of ?: conditional operator is supported for C++ only.
Ah, nevermind then.
Maybe this stuff hasn't bled into the Fortran front-end, but the gfortran front-end certainly has OpenMP support which presumably has vector extensions.However, more generally, do we need to do anything for the other languages?Looking into that I got an impression vector modes are used by C/C++ vector extensions only. And I think regression testing would reveal some failures otherwise.
The fact that nothing's failing in the testsuite is encouraging, but it'd be worth spending a few minutes taking a look to see if there's something that might need updating.
Jeff
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |