https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119196

--- Comment #3 from Victor Do Nascimento <victorldn at gcc dot gnu.org> ---
The s/INTEGRAL_TYPE_P/ANY_INTEGRAL_TYPE_P/ change gets us part of the way
there. 

We also need to make sure that in our call to `generic_simplify' we're passing
in the original vector comparisons (e.g. *x < *y) and not the VEC_COND_EXPRs
that the vector comparisons get embedded into ((e.g. VEC_COND_EXPR < *x>*y,
{-1,-1,-1,-1}, {0,0,0,0} >). That way, generic_simplify can use its existing
machinery to reason about the simplification.

Then, once the simplification is made by `generic_simplify' is made, we can
create a new VEC_COND_EXPR with the folded comparison (or return the zero
vector for a case like `*x < *y & *x > *y;').

We have one of our graduates currently working on this and hope to get a patch
out in the near future.

Reply via email to