https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102080
--- Comment #9 from Hongtao.liu <crazylht at gmail dot com> --- (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.