https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69671
--- Comment #12 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Kirill Yukhin from comment #8) > (In reply to Jakub Jelinek from comment #7) > > So do you want to use reg_or_0_operand? I don't think we usually tie output > > with input already in the predicates, except when match_dup is used. > > That is the issue. reg_or_0_operand won't work (although it is better than > "vector_move_operand" since it is prohibits memory) > > We want 2nd operand to be either: > 1. const0_rtx > 2. match_dup 0 You can add additional conditions to insn enable condition. There are many examples, e.g. ix86_binary_operator_ok in "*add<mode>_1".