[Bug target/58475] SH4 insn swapb does not satisfy its constraints:

chrbr at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Sep 19 13:38:00 GMT 2013


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.

.



More information about the Gcc-bugs mailing list