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 <[EMAIL PROTECTED]> 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

Reply via email to