https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111337
--- Comment #5 from JuzheZhong <juzhe.zhong at rivai dot ai> --- Oh. I see. (define_expand "@vcond_mask_<mode><mode>" [(match_operand:VB 0 "register_operand") (match_operand:VB 3 "register_operand") (match_operand:VB 1 "nonmemory_operand") (match_operand:VB 2 "register_operand")] "TARGET_VECTOR" { printf ("vcond_mask\n"); }) I implemented this pattern which can address this issue.... Note that VB is VECTR_BOOL... So, this is a more reasonable way to do. Is that right?