[Bug rtl-optimization/107057] [10/11/12/13 Regression] ICE in extract_constrain_insn, at recog.cc:2692

crazylht at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed Oct 26 08:46:50 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107057

--- Comment #7 from Hongtao.liu <crazylht at gmail dot com> ---
And it looks like the pattern is wrongly defined since from [1].

----------cut begin------------
Matching constraints are used in these circumstances. More precisely, the two
operands that match must include one input-only operand and one output-only
operand. Moreover, the digit must be a smaller number than the number of the
operand that uses it in the constraint.
----------------cut end----------

(define_insn "vec_concatv2df"
  [(set (match_operand:V2DF 0 "register_operand"     "=x,x,v,x,v,x,x, v,x,x")
        (vec_concat:V2DF
          (match_operand:DF 1 "nonimmediate_operand" " 0,x,v,m,m,0,x,vm,0,0")
          (match_operand:DF 2 "nonimm_or_0_operand"  " x,x,v,1,1,m,m,
C,x,m")))]


For alternatvie 1, the two operands are both input only.

[1]
https://gcc.gnu.org/onlinedocs/gccint/Simple-Constraints.html#Simple-Constraints


More information about the Gcc-bugs mailing list