On 07/20/2015 09:05 AM, Yuri Rumyantsev wrote:
Hi Jeff!

Thanks for your details comments.

You asked:
How are conditionals on vectors usually handled?  You should try to
mimick that and report, with detail, why that's not working.

In current implementation of vectorization pass all comparisons are
handled through COND_EXPR, i.e. vect-pattern pass transforms all
comparisons producing bool values to conditional expressions like a[i]
!= 0  --> a[i]!=0? 1: 0 which vectorizers transforms to
vect-cond-expr. So we don't have operations with vector operands and
scalar (bool) result.
To implement such operations I introduced target-hook. Could you
propose another solution implementing it?
Is there any rationale given anywhere for the transformation into conditional expressions? ie, is there any reason why we can't have a GIMPLE_COND where the expression is a vector condition?

Thanks,

Jeff

Reply via email to