> 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
