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