* config/mips/mips.md (call_value_multiple_interanal1): New.
From-SVN: r30660
This commit is contained in:
parent
10a11b7561
commit
8f7f2b3d45
|
@ -1,3 +1,7 @@
|
|||
1999-11-24 Gavin Romig-Koch <gavin@cygnus.com>
|
||||
|
||||
* config/mips/mips.md (call_value_multiple_interanal1): New.
|
||||
|
||||
1999-11-24 Jason Merrill <jason@casey.cygnus.com>
|
||||
|
||||
* dwarf2out.c (free_AT, free_die): New fns.
|
||||
|
|
|
@ -9838,6 +9838,29 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2"
|
|||
;; ??? May eventually need all 6 versions of the call patterns with multiple
|
||||
;; return values.
|
||||
|
||||
(define_insn "call_value_multiple_internal1"
|
||||
[(set (match_operand 0 "register_operand" "=df")
|
||||
(call (mem (match_operand 1 "call_insn_operand" "ri"))
|
||||
(match_operand 2 "" "i")))
|
||||
(set (match_operand 3 "register_operand" "=df")
|
||||
(call (mem (match_dup 1))
|
||||
(match_dup 2)))
|
||||
(clobber (match_operand:SI 4 "register_operand" "=d"))]
|
||||
"!TARGET_ABICALLS && !TARGET_LONG_CALLS"
|
||||
"*
|
||||
{
|
||||
register rtx target = operands[1];
|
||||
|
||||
if (GET_CODE (target) == SYMBOL_REF)
|
||||
return \"%*jal\\t%1\";
|
||||
else if (GET_CODE (target) == CONST_INT)
|
||||
return \"%[li\\t%@,%1\\n\\t%*jal\\t%4,%@%]\";
|
||||
else
|
||||
return \"%*jal\\t%4,%1\";
|
||||
}"
|
||||
[(set_attr "type" "call")
|
||||
(set_attr "mode" "none")])
|
||||
|
||||
(define_insn "call_value_multiple_internal2"
|
||||
[(set (match_operand 0 "register_operand" "=df")
|
||||
(call (mem (match_operand 1 "call_insn_operand" "ri"))
|
||||
|
|
Loading…
Reference in New Issue