------- Comment #1 from ubizjak at gmail dot com 2008-02-17 21:33 ------- IMO is a bit suspicious that FP<->int conversions in mips.md operate on both FP operands, i.e:
(define_insn "fix_truncdfsi2_insn" [(set (match_operand:SI 0 "register_operand" "=f") (fix:SI (match_operand:DF 1 "register_operand" "f")))] ...and similar patterns... , as well as: (define_insn "floatsidf2" [(set (match_operand:DF 0 "register_operand" "=f") (float:DF (match_operand:SI 1 "register_operand" "f")))] ...and similar patterns. One would expect a constraint that describes integer regs for output operand in the former case and integer regs for input operand in the later case. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35232