Commit fd9363bf by Richard Henderson Committed by Richard Henderson

re PR target/16974 (could not split insn (ice in final_scan_insn, final.c))

        PR target/16974
        * config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
        if the constant satisfies add_operand.

From-SVN: r86613
parent 8def91db
2004-08-25 Richard Henderson <rth@redhat.com> 2004-08-25 Richard Henderson <rth@redhat.com>
PR target/16974
* config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
if the constant satisfies add_operand.
2004-08-25 Richard Henderson <rth@redhat.com>
PR debug/10695 PR debug/10695
* config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New. * config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
(alpha_expand_prologue): Handle >32-bit frames. Generate proper (alpha_expand_prologue): Handle >32-bit frames. Generate proper
......
...@@ -444,9 +444,9 @@ ...@@ -444,9 +444,9 @@
;; and if we split before reload, we will require additional instructions. ;; and if we split before reload, we will require additional instructions.
(define_insn "*adddi_fp_hack" (define_insn "*adddi_fp_hack"
[(set (match_operand:DI 0 "register_operand" "=r") [(set (match_operand:DI 0 "register_operand" "=r,r,r")
(plus:DI (match_operand:DI 1 "reg_no_subreg_operand" "r") (plus:DI (match_operand:DI 1 "reg_no_subreg_operand" "r,r,r")
(match_operand:DI 2 "const_int_operand" "n")))] (match_operand:DI 2 "const_int_operand" "K,L,n")))]
"NONSTRICT_REG_OK_FP_BASE_P (operands[1]) "NONSTRICT_REG_OK_FP_BASE_P (operands[1])
&& INTVAL (operands[2]) >= 0 && INTVAL (operands[2]) >= 0
/* This is the largest constant an lda+ldah pair can add, minus /* This is the largest constant an lda+ldah pair can add, minus
...@@ -460,7 +460,10 @@ ...@@ -460,7 +460,10 @@
+ max_reg_num () * UNITS_PER_WORD + max_reg_num () * UNITS_PER_WORD
+ current_function_pretend_args_size) + current_function_pretend_args_size)
- current_function_pretend_args_size))" - current_function_pretend_args_size))"
"#") "@
lda %0,%2(%1)
ldah %0,%h2(%1)
#")
;; Don't do this if we are adjusting SP since we don't want to do it ;; Don't do this if we are adjusting SP since we don't want to do it
;; in two steps. Don't split FP sources for the reason listed above. ;; in two steps. Don't split FP sources for the reason listed above.
......
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