https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102080
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|target |middle-end --- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Hongtao.liu from comment #9) > (In reply to Andrew Pinski from comment #8) > > That is the mask is a vector mode still for these patterns according to the > > internals doc. > > Rather than the scalar mode you have: > > (match_operand:<avx512fmaskmode> 1 "register_operand") > > No, according to doc, mode of operands[1] is decided by > TARGET_VECTORIZE_GET_MASK_MODE. Which means integer mode shoud also be > accepted. > > Operands 0, 2, 3 and 4 all have mode m. Operand 1 is a scalar integer if m is > scalar, otherwise it has the mode returned by TARGET_VECTORIZE_GET_MASK_ > MODE. Looks like vectorized_internal_fn_supported_p might need to be extended here or a better function needs to be used to check on cond_* optabs.