On Thu, Feb 22, 2007 at 11:10:09AM +0100, Markus Franke wrote:
> ;; calls that return int in r1
> ;;
> (define_insn "call_val_internal_return_r1"
> [(parallel [(set (reg:SI 1)
>                   (call (match_operand:QI 0 "sym_ref_mem_operand" "")

Why would you have a specific pattern for (reg:SI 1) as
the return value?  I suggest you look at other ports for
guidence here.  Normal is something like


(define_insn "*call_value_1"
  [(set (match_operand 0 "" "")
        (call (mem:QI (match_operand:SI 1 "call_insn_operand" "rsm"))
              (match_operand:SI 2 "" "")))]
  ...)

where both the return value and the call have no mode specified.



r~

Reply via email to