Commit 60a3c181 by Richard Henderson

ia64.md (reload_inti): Use a TImode scratch.

        * config/ia64/ia64.md (reload_inti): Use a TImode scratch.  Use
        the half that does not conflict with the reload register.
        (reload_outti): Likewise.

From-SVN: r36053
parent 94aaab7a
......@@ -3,6 +3,10 @@
* reload.c (push_secondary_reload): Allow class == reload_class
if we're using a reload_in/out pattern.
* config/ia64/ia64.md (reload_inti): Use a TImode scratch. Use
the half that does not conflict with the reload register.
(reload_outti): Likewise.
2000-08-29 Kazu Hirata <kazu@hxi.com>
* reload.c: Fix formatting.
......
......@@ -668,27 +668,27 @@
(define_expand "reload_inti"
[(parallel [(set (match_operand:TI 0 "register_operand" "=r")
(match_operand:TI 1 "" "m"))
(clobber (match_operand:DI 2 "register_operand" "=&r"))])]
(clobber (match_operand:TI 2 "register_operand" "=&r"))])]
""
"
{
/* ??? Should now be enforced by tweeks to push_secondary_reload. */
if (reg_overlap_mentioned_p (operands[2], operands[0])
|| reg_overlap_mentioned_p (operands[2], operands[1]))
abort ();
unsigned int s_regno = REGNO (operands[2]);
if (s_regno == REGNO (operands[0]))
s_regno += 1;
operands[2] = gen_rtx_REG (DImode, s_regno);
}")
(define_expand "reload_outti"
[(parallel [(set (match_operand:TI 0 "" "=m")
(match_operand:TI 1 "register_operand" "r"))
(clobber (match_operand:DI 2 "register_operand" "=&r"))])]
(clobber (match_operand:TI 2 "register_operand" "=&r"))])]
""
"
{
/* ??? Should now be enforced by tweeks to push_secondary_reload. */
if (reg_overlap_mentioned_p (operands[2], operands[0])
|| reg_overlap_mentioned_p (operands[2], operands[1]))
abort ();
unsigned int s_regno = REGNO (operands[2]);
if (s_regno == REGNO (operands[1]))
s_regno += 1;
operands[2] = gen_rtx_REG (DImode, s_regno);
}")
;; Floating Point Moves
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment