https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111334
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|rtl-optimization |target --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to chenglulu from comment #3) > This involves the template <optab>di3_fake: > (define_insn "<optab>di3_fake" > [(set (match_operand:DI 0 "register_operand" "=r,&r,&r") > (sign_extend:DI > (any_div:SI (match_operand:DI 1 "register_operand" "r,r,0") > (match_operand:DI 2 "register_operand" "r,r,r"))))] That pattern definitely looks broken. Divide's operands' mode must match the mode of the divide IIRC.