* config/mips/mips.md (call_value_multiple_interanal1): New.

From-SVN: r30660
This commit is contained in:
Gavin Romig-Koch 1999-11-25 04:44:27 +00:00 committed by Gavin Romig-Koch
parent 10a11b7561
commit 8f7f2b3d45
2 changed files with 27 additions and 0 deletions

View File

@ -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.

View File

@ -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"))