http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58475

--- Comment #1 from chrbr at gcc dot gnu.org ---
The problem is that

  [(set (match_operand:SI 0 "arith_reg_dest" "=r")
    (ior:SI (and:SI (match_operand:SI 1 "arith_reg_operand" "r")

accepts fpul registers in the predicate, but not in the constraints. The reason
is that arith_reg_dest is tricked to accept FPUL_REG when TARGET_SH4.

There is no reason that a fpul register is accepted as a source operand for an
arithmetic op, unless the floating point transfer needs to be expressed in the
rtl, so fpul will need reloading.

.

Reply via email to