gcc-3.4.0 fails for ColdFire(does not satisfy constraints)
Ian Lance Taylor
ian@wasabisystems.com
Mon Apr 26 21:10:00 GMT 2004
Peter Barada <peter@the-baradas.com> writes:
> >Using mrIKLs in a constraint is tricky stuff, anyhow. It can often
> >lead to better code by causing gcc to use moveq to load some other
> >register, and then do the addition. But that increases register
> >pressure; if no other register is available, then the resulting code
> >is actually worse. It might be better to not use the 's' constraint,
> >but to instead use a peephole2 which uses match_scratch, a technique
> >which was not available when the m68k backend was written.
>
> The constraint is limited to:
>
> (define_insn ""
> [(set (match_operand:QI 0 "nonimmediate_operand" "=d<Q>,dm,d")
> (match_operand:QI 1 "general_src_operand" "dmi,d<Q>,di"))]
> "TARGET_COLDFIRE"
> "* return output_move_qimode (operands);")
>
> Which doesn't allow for IKLs. This constraint *should* work, right?
> Which ColdFire pattern are you seeing 'mrIKLs' on that you think should be
> changed?
addsi3_5200, which is the one which crashed reload in your last
message.
Ian
More information about the Gcc
mailing list