I agree with Richard's comments, but a couple more:
Robin Dapp <[email protected]> writes:
> @@ -362,6 +363,23 @@ add_mask_and_len_args (expand_operand *ops, unsigned int
> opno, gcall *stmt)
>
> create_input_operand (&ops[opno++], mask_rtx,
> TYPE_MODE (TREE_TYPE (mask)));
> +
Nit: unnecessary blank line.
> [...]
> +/* Return true if the else value ELSE_VAL (one of MASK_LOAD_ELSE_ZERO,
> + MASK_LOAD_ELSE_M1, and MASK_LOAD_ELSE_UNDEFINED) is valid fo the optab
> + referred to by ICODE. The index of the else operand must be specified
> + in ELSE_INDEX. */
> +
> +bool
> +supported_else_val_p (enum insn_code icode, unsigned else_index, int
> else_val)
> +{
> + if (else_val != MASK_LOAD_ELSE_ZERO && else_val != MASK_LOAD_ELSE_M1
> + && else_val != MASK_LOAD_ELSE_UNDEFINED)
> + __builtin_unreachable ();
gcc_unreachable (), so that it's a noisy failure when checking is enabled
(and so that it works on host compilers that don't provide
__builtin_unreachable).
Thanks,
Richard