https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106543
Bug ID: 106543 Summary: *sge<u>_<X:mode><GPR:mode> uses operand 2 but there is no operand 2 Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: pinskia at gcc dot gnu.org Target Milestone: --- Target: riscv This is definitely broken: (define_insn "*sge<u>_<X:mode><GPR:mode>" [(set (match_operand:GPR 0 "register_operand" "=r") (any_ge:GPR (match_operand:X 1 "register_operand" " r") (const_int 1)))] "" "slt%i2<u>\t%0,zero,%1" [(set_attr "type" "slt") (set_attr "mode" "<X:MODE>")]) %i2 is not valid here as there is no operand[2] .