https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110309
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- I think the two (define_expand "maskload<mode><avx512fmaskmodelower>" [(set (match_operand:V48H_AVX512VL 0 "register_operand") (vec_merge:V48H_AVX512VL (match_operand:V48H_AVX512VL 1 "memory_operand") (match_dup 0) (match_operand:<avx512fmaskmode> 2 "register_operand")))] "TARGET_AVX512F") (define_expand "maskload<mode><avx512fmaskmodelower>" [(set (match_operand:VI12_AVX512VL 0 "register_operand") (vec_merge:VI12_AVX512VL (match_operand:VI12_AVX512VL 1 "memory_operand") (match_dup 0) (match_operand:<avx512fmaskmode> 2 "register_operand")))] "TARGET_AVX512BW") patterns are wrong (all others use UNSPEC_MASKMOV)