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
This commit is contained in:
parent
8def91dbfa
commit
fd9363bf2b
2 changed files with 13 additions and 4 deletions
|
@ -1,3 +1,9 @@
|
|||
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
|
||||
|
|
|
@ -444,9 +444,9 @@
|
|||
;; and if we split before reload, we will require additional instructions.
|
||||
|
||||
(define_insn "*adddi_fp_hack"
|
||||
[(set (match_operand:DI 0 "register_operand" "=r")
|
||||
(plus:DI (match_operand:DI 1 "reg_no_subreg_operand" "r")
|
||||
(match_operand:DI 2 "const_int_operand" "n")))]
|
||||
[(set (match_operand:DI 0 "register_operand" "=r,r,r")
|
||||
(plus:DI (match_operand:DI 1 "reg_no_subreg_operand" "r,r,r")
|
||||
(match_operand:DI 2 "const_int_operand" "K,L,n")))]
|
||||
"NONSTRICT_REG_OK_FP_BASE_P (operands[1])
|
||||
&& INTVAL (operands[2]) >= 0
|
||||
/* This is the largest constant an lda+ldah pair can add, minus
|
||||
|
@ -460,7 +460,10 @@
|
|||
+ max_reg_num () * UNITS_PER_WORD
|
||||
+ 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
|
||||
;; in two steps. Don't split FP sources for the reason listed above.
|
||||
|
|
Loading…
Add table
Reference in a new issue