mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-10 09:40:42 +08:00
re PR tree-optimization/77536 (Vectorizer not maintaining relationship of relative block frequencies in absence of real profile data)
PR tree-optimization/77536 PR rtl-optimization/68212 * config/rs6000/rs6000.md (div->recip splitter): Remove optimize_insn_for_speed_p condition. From-SVN: r240113
This commit is contained in:
parent
42763690bd
commit
c77b8713a7
@ -1,3 +1,10 @@
|
||||
2016-09-13 Pat Haugen <pthaugen@us.ibm.com>
|
||||
|
||||
PR tree-optimization/77536
|
||||
PR rtl-optimization/68212
|
||||
* config/rs6000/rs6000.md (div->recip splitter): Remove
|
||||
optimize_insn_for_speed_p condition.
|
||||
|
||||
2016-09-13 Maciej W. Rozycki <macro@imgtec.com>
|
||||
|
||||
* optabs.c (prepare_cmp_insn): Update documentation comment.
|
||||
|
@ -4323,13 +4323,15 @@
|
||||
;; Split to create division from FRE/FRES/etc. and fixup instead of the normal
|
||||
;; hardware division. This is only done before register allocation and with
|
||||
;; -ffast-math. This must appear before the divsf3/divdf3 insns.
|
||||
;; We used to also check optimize_insn_for_speed_p () but problems with guessed
|
||||
;; frequencies (pr68212/pr77536) yields that unreliable so it was removed.
|
||||
(define_split
|
||||
[(set (match_operand:RECIPF 0 "gpc_reg_operand" "")
|
||||
(div:RECIPF (match_operand 1 "gpc_reg_operand" "")
|
||||
(match_operand 2 "gpc_reg_operand" "")))]
|
||||
"RS6000_RECIP_AUTO_RE_P (<MODE>mode)
|
||||
&& can_create_pseudo_p () && optimize_insn_for_speed_p ()
|
||||
&& flag_finite_math_only && !flag_trapping_math && flag_reciprocal_math"
|
||||
&& can_create_pseudo_p () && flag_finite_math_only
|
||||
&& !flag_trapping_math && flag_reciprocal_math"
|
||||
[(const_int 0)]
|
||||
{
|
||||
rs6000_emit_swdiv (operands[0], operands[1], operands[2], true);
|
||||
|
Loading…
x
Reference in New Issue
Block a user