Constrain not satisfied - floating point insns.

Rohit Arul Raj rohitarulraj@gmail.com
Thu Mar 15 10:23:00 GMT 2007


Hi all,

I had a single movsf insn that accepts all alternatives for the reload to work.

(define_insn "movsf"
  [(set (match_operand:SF 0 "nonimmediate_operand" "=f,m,f,f,d,d")
	    (match_operand:SF 1 "general_operand"       "m,f,f,d,f,i"))
	    ]
But  for moving an immediate value, compiler should use a data
register but it is using a floating point register.

Still i get an ICE for constrain not satisfied.

Regards,
Rohit


On 3/15/07, Jim Wilson <wilson@specifix.com> wrote:
> Rohit Arul Raj wrote:
> > (define_insn "movsf_store"
> >  [(set (match_operand:SF 0 "memory_operand"  "=m")
> >     (match_operand:SF 1 "float_reg"    "f"))]
>
> You must have a single movsf define_insn that accepts all alternatives
> so that reload will work.  You can't have separate define_insns for
> movsf and movsf_store.
> --
> Jim Wilson, GNU Tools Support, http://www.specifix.com
>



More information about the Gcc mailing list