re PR target/35695 (-funroll-loops breaks inline float divide)
PR target/35695 * config/ia64/div.md (recip_approx_rf): Use UNSPEC not DIV. * config/ia64/ia64.c (rtx_needs_barrier): Handle UNSPEC_FR_RECIP_APPROX_RES. * config/ia64/ia64.md (UNSPEC_FR_RECIP_APPROX_RES): Define. From-SVN: r133772
This commit is contained in:
parent
bb686a19e9
commit
1def9c3f7d
4 changed files with 13 additions and 2 deletions
|
@ -1,3 +1,11 @@
|
|||
2008-03-31 James E. Wilson <wilson@tuliptree.org>
|
||||
|
||||
PR target/35695
|
||||
* config/ia64/div.md (recip_approx_rf): Use UNSPEC not DIV.
|
||||
* config/ia64/ia64.c (rtx_needs_barrier): Handle
|
||||
UNSPEC_FR_RECIP_APPROX_RES.
|
||||
* config/ia64/ia64.md (UNSPEC_FR_RECIP_APPROX_RES): Define.
|
||||
|
||||
2008-03-31 Volker Reichelt <v.reichelt@netcologne.de>
|
||||
|
||||
PR c/35750
|
||||
|
|
|
@ -199,8 +199,9 @@
|
|||
|
||||
(define_insn "recip_approx_rf"
|
||||
[(set (match_operand:RF 0 "fr_register_operand" "=f")
|
||||
(div:RF (match_operand:RF 1 "fr_register_operand" "f")
|
||||
(match_operand:RF 2 "fr_register_operand" "f")))
|
||||
(unspec:RF [(match_operand:RF 1 "fr_register_operand" "f")
|
||||
(match_operand:RF 2 "fr_register_operand" "f")]
|
||||
UNSPEC_FR_RECIP_APPROX_RES))
|
||||
(set (match_operand:BI 3 "register_operand" "=c")
|
||||
(unspec:BI [(match_dup 1) (match_dup 2)] UNSPEC_FR_RECIP_APPROX))
|
||||
(use (match_operand:SI 4 "const_int_operand" ""))]
|
||||
|
|
|
@ -5898,6 +5898,7 @@ rtx_needs_barrier (rtx x, struct reg_flags flags, int pred)
|
|||
case UNSPEC_FR_RECIP_APPROX:
|
||||
case UNSPEC_SHRP:
|
||||
case UNSPEC_COPYSIGN:
|
||||
case UNSPEC_FR_RECIP_APPROX_RES:
|
||||
need_barrier = rtx_needs_barrier (XVECEXP (x, 0, 0), flags, pred);
|
||||
need_barrier |= rtx_needs_barrier (XVECEXP (x, 0, 1), flags, pred);
|
||||
break;
|
||||
|
|
|
@ -86,6 +86,7 @@
|
|||
(UNSPEC_LDCCLR 43)
|
||||
(UNSPEC_CHKACLR 45)
|
||||
(UNSPEC_CHKS 47)
|
||||
(UNSPEC_FR_RECIP_APPROX_RES 48)
|
||||
])
|
||||
|
||||
(define_constants
|
||||
|
|
Loading…
Add table
Reference in a new issue