> Usually the 'else' value applies to masked operations.  For a
> cond_vec_cbranch_any that would mean if any mask element is zero
> then an else value of 1 makes the branch taken.  For cond_vec_cbranch_all
> an else value of 0 makes the branch not taken.  So we cannot really
> use what the target prefers here but instead in practice we are always
> looking for a "neutral" element here which means having the else
> value represented is pointless at this point?  Otherwise we have to
> check target predicates whether the actual else value we require
> is supported.

Right, I misunderstood at first.  It's not really "preferred", just like with 
maskload where we require a zero in certain cases, here we always need a zero.  
And with e.g. riscv never returning zero for else it wouldn't help a lot to
first use the target-preferred else value and then overwrite it.

-- 
Regards
 Robin

Reply via email to