Robin Dapp <rdapp....@gmail.com> writes: >> Could you explain why a special expansion is needed? (Sorry if you already >> have and I missed it, bit overloaded ATM.) What does it do that is >> different from what expand_fn_using_insn would do? > > All it does (in excess) is shuffle the arguments - vcond_mask_len has the > mask as third operand similar to vcond_mask while vec_cond has the mask > first. I can swap them in the IFN already but when not swapping we will > either be inconsistent with vec_cond or with vcond_mask.
Ah, OK. IMO it's better to keep the optab operands the same as the IFN operands, even if that makes things inconsistent with vcond_mask. vcond_mask isn't really a good example to follow, since the operand order is not only inconsistent with the IFN, it's also inconsistent with the natural if_then_else order. Thanks, Richard