https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97170
--- Comment #2 from jojo <rjiejie at me dot com> --- (In reply to Andrew Pinski from comment #1) > target_fcvt is wrong. > try: > (define_insn "target_fcvt" > [(set (match_operand:SI 0 "register_operand" "=r") > (unspec:SI [(match_operand:SF 1 "register_operand" "f") > (reg:SI FCVTMODE_REGNUM)] > UNSPEC_FCVT))] > "" > "fcvt\t%0,%1" > ) > > instead. Basically the set is not dependent on the reg (FCVTMODE_REGNUM) > only the instruction itself which is what ever. It works, Thanks so much :)