Hello,
This patch fixes PR 49014, yet another case of the insn with wrong
reservation. Approved by Uros in the PR audit trail, bootstrapped and
regtested on x86-64/linux and committed to trunk.
Vlad, Bernd, I wonder if we can avoid having recog_memoized >=0 insns that
do not have proper DFA reservations (that is, they do not change the DFA
state). I see that existing practice allows this as shown by Bernd's patch
to 48403, i.e. such insns do not count against issue_rate. I would be
happy to fix sel-sched in the same way. However, both sel-sched ICEs as
shown by PRs 48143 and 49014 really uncover the latent bugs in the backend.
So, is it possible to stop having such insns if scheduling is desired, or
otherwise distinguish the insns that wrongly miss the proper DFA reservation?
Yours, Andrey
Index: gcc/ChangeLog
===================================================================
*** gcc/ChangeLog (revision 174171)
--- gcc/ChangeLog (working copy)
***************
*** 1,3 ****
--- 1,8 ----
+ 2011-05-25 Andrey Belevantsev <a...@ispras.ru>
+
+ PR rtl-optimization/49014
+ * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi.
+
2011-05-25 Jakub Jelinek <ja...@redhat.com>
PR target/49128
Index: gcc/config/i386/athlon.md
===================================================================
*** gcc/config/i386/athlon.md (revision 174171)
--- gcc/config/i386/athlon.md (working copy)
*************** (define_insn_reservation "athlon_ssecomi
*** 798,804 ****
"athlon-direct,athlon-fploadk8,athlon-fadd")
(define_insn_reservation "athlon_ssecomi" 4
(and (eq_attr "cpu" "athlon,k8,generic64")
! (eq_attr "type" "ssecmp"))
"athlon-vector,athlon-fpsched,athlon-fadd")
(define_insn_reservation "athlon_ssecomi_amdfam10" 3
(and (eq_attr "cpu" "amdfam10")
--- 798,804 ----
"athlon-direct,athlon-fploadk8,athlon-fadd")
(define_insn_reservation "athlon_ssecomi" 4
(and (eq_attr "cpu" "athlon,k8,generic64")
! (eq_attr "type" "ssecomi"))
"athlon-vector,athlon-fpsched,athlon-fadd")
(define_insn_reservation "athlon_ssecomi_amdfam10" 3
(and (eq_attr "cpu" "amdfam10")