On 03/06/12 11:10, H.J. Lu wrote:
>  (define_insn "*call"
> -  [(call (mem:QI (match_operand:P 0 "call_insn_operand" "<c>zw"))
> +  [(call (mem:QI (match_operand:C 0 "call_insn_operand" "<c>zw"))
>        (match_operand 1 "" ""))]
> -  "!SIBLING_CALL_P (insn)"
> +  "!SIBLING_CALL_P (insn)
> +   && (GET_CODE (operands[0]) == SYMBOL_REF
> +       || GET_MODE (operands[0]) == word_mode)"

There are enough copies of this extra constraint that I wonder
if it simply ought to be folded into call_insn_operand.

Which would need to be changed to define_special_predicate,
since you'd be doing your own mode checking.

Probably similar changes to sibcall_insn_operand.


r~

Reply via email to